通过指针访问类的静态数据成员
2007-08-25 08:14
295 查看
//"pointer2.h"
class Point
{
public:
Point(int xx=0,int yy=0){X=xx;Y=yy;counterp++;}
Point(Point &p);
int GetX(){return X;}
int GetY(){return Y;}
static int counterp;
private:
int X;
int Y;
};
Point::Point(Point &p)
{
X=p.X;
Y=p.Y;
counterp++;
}
int Point::counterp=0;//静态数据成员定义性说明,不能在构造函数中初始化,只能在体外初始化
#include<iostream.h>
#include "pointer2.h"
//通过指针访问类的静态数据成员
void main()
{
int *count=&Point::counterp;//声明一个int型指针,指向类的静态成员,前面加类名&Point
Point A(4,5);
cout<<"Point A,"<<A.GetX()<<","<<A.GetY();
cout<<"object id="<<*count<<endl;//直接通过指针访问数据成员
Point B(A);
cout<<"point B,"<<B.GetX()<<","<<B.GetY();
cout<<"object id="<<*count<<endl;//直接通过指针访问数据成员
}
class Point
{
public:
Point(int xx=0,int yy=0){X=xx;Y=yy;counterp++;}
Point(Point &p);
int GetX(){return X;}
int GetY(){return Y;}
static int counterp;
private:
int X;
int Y;
};
Point::Point(Point &p)
{
X=p.X;
Y=p.Y;
counterp++;
}
int Point::counterp=0;//静态数据成员定义性说明,不能在构造函数中初始化,只能在体外初始化
#include<iostream.h>
#include "pointer2.h"
//通过指针访问类的静态数据成员
void main()
{
int *count=&Point::counterp;//声明一个int型指针,指向类的静态成员,前面加类名&Point
Point A(4,5);
cout<<"Point A,"<<A.GetX()<<","<<A.GetY();
cout<<"object id="<<*count<<endl;//直接通过指针访问数据成员
Point B(A);
cout<<"point B,"<<B.GetX()<<","<<B.GetY();
cout<<"object id="<<*count<<endl;//直接通过指针访问数据成员
}
相关文章推荐
- 通过指针访问堆中的数据成员
- 通过this指针访问数据成员
- 通过指针访问类的静态成员函数
- 第四周项目1-三角形类(指针访问私有数据成员)
- C++ 通过对象方式 、指针方式两种方式去访问成员变量(属性或者方法)
- 通过指针运算符访问对象成员和构造函数的特点
- 7.22通过指向对象的指针访问对象中的成员
- 静态数据成员只能在类体外,且通过函数体进行初始化(静态数据成员是在程序编译时被分配空间的)
- 第三周程序阅读(2) 利用指针访问私有数据成员
- 通过地址偏移量访问C++结构体数据成员
- 第3轴项目 0 (2) 利用指针访问私有数据成员
- 通过指针访问C++对象的私有成员
- 警告:对 NULL 对象非静态数据成员‘XXX::xxx’的访问无效
- 利用指针访问私有数据成员
- 通过偏移量来访问C++类数据成员实验
- 第3周课后实践·阅读程序(2)-利用指针访问私有数据成员
- 阿里巴巴 静态数据项目 (SQL SERVER 通过链接服务器访问ORACLE 存储过程 )
- 读几个小程序了解c++:Part 01(构造函数、析构函数、指针、静态数据成员)
- iphone 自定义uiTableViewCell,如何通过其数据成员来访问cell本身
- 21天学通c++之第二周 指针 8.6 访问自由存储区中对象的成员数据