⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_3_static_member_4.cpp

📁 对于一个初涉VC++的人来书
💻 CPP
字号:

//**************************************************************
//区别:类的静态数据成员和静态函数成员。
//**************************************************************

# include <iostream.h>

class Point	//Point类定义
{
public:	//外部接口
	Point(int xx=0, int yy=0) {X=xx;Y=yy;countP++;}	//构造函数
	Point(Point &p); //拷贝构造函数声明
	int GetX() {return X;}
	int GetY() {return Y;}
	static void GetC() {cout<<"  Object id="<<countP<<endl;} //静态函数成员
private: //私有数据成员
	int X,Y;
	static int countP;	//静态数据成员引用性说明
};

Point::Point(Point &p) //拷贝构造函数实现
{
	X=p.X;
	Y=p.Y;
	countP++;
}

int Point::countP=0;	//静态数据成员定义性说明,初始化,使用类名限定

void main()	//主函数实现
{
	void (*gc)()=Point::GetC;	//声明指向函数的指针,指向类的静态成员函数

	Point A(4,5);	//定义对象A

	cout<<"Point A,"<<A.GetX()<<","<<A.GetY()<<endl;
    Point::GetC(); //输出对象序号,直接访问静态成员函数
	gc(); //输出对象序号,直接通过指针访问静态成员函数

	Point B(A);	//定义对象B
	cout<<"Point B,"<<B.GetX()<<","<<B.GetY()<<endl;
    Point::GetC(); //输出对象序号,直接访问静态成员函数
	gc(); //输出对象序号,直接通过指针访问静态成员函数
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -