📄 demo_object_pointer_2.cpp
字号:
//***************************************************
//指向类的成员的指针
//指向数据成员的指针: <类型说明符><类名>::*<指针名>=&<类名>::<公有数据成员名>;
//指向函数成员的指针: <类型说明符>(<类名>::*<指针名>)(<参数表>)=<类名>::<公有函数成员名>;
//***************************************************
#include <iostream.h>
class Point //类的定义
{
public: //外部接口
Point(int xx=0, int yy=0) {X=xx;Y=yy;} //带默认形参构造函数
int GetX() {return X;}
int GetY() {return Y;}
private: //私有数据
int X,Y;
};
void main() //主函数
{
Point A(4,5); //声明对象A
Point *p=&A; //声明对象指针并初始化
// int Point::*px=&Point::X; //Error 指针不能指向私有数据成员
int (Point::*p_GetX)()=Point::GetX; //声明成员函数指针并初始化
int (Point::*p_GetY)()=Point::GetY; //声明成员函数指针并初始化
cout<<A.GetX()<<","<<A.GetY()<<endl; //1.对象名访问成员函数
cout<<(A.*p_GetX)()<<","<<(A.*p_GetY)()<<endl; //1.对象名访问成员函数
cout<<(p->GetX)()<<","<<p->GetY()<<endl; //2.对象指针访问成员函数
cout<<((*p).GetX)()<<","<<(*p).GetY()<<endl; //2.对象指针访问成员函数
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -