demo_3_static_member_2.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 43 行

CPP
43
字号

//**************************************************************
//注意:类的静态数据成员的引用性说明、定义性说明、初始化、引用。
//**************************************************************

# 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 int countP; //静态数据成员引用性说明
private: //私有数据成员
	int X,Y;
};

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

int Point::countP=0; //静态数据成员定义性说明和初始化

void main()	//主函数
{
	int *count=&Point::countP;	//声明指针指向类的静态成员(public)

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

	cout<<"Point A,"<<A.GetX()<<","<<A.GetY()<<endl;
	cout<<"  Object id="<<Point::countP<<endl;	//直接访问静态数据成员
	cout<<"  Object id="<<*count<<endl;	//直接通过指针访问静态数据成员

	Point B(A);	//定义对象B
	cout<<"Point B,"<<B.GetX()<<","<<B.GetY()<<endl;
	cout<<"  Object id="<<Point::countP<<endl;	//直接访问静态数据成员
	cout<<"  Object id="<<*count<<endl; //直接通过指针访问静态数据成员
}

⌨️ 快捷键说明

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