?? 5_18.cpp
字號:
#include <iostream.h>
class point //point 類的定義
{
public:
point(int a=0,int b=0);//構(gòu)造函數(shù)
~point();
void display(void);
void move(int xx,int yy);
int point::*p;//成員指針
private:
int x;
int y;
};
//成員函數(shù)的實(shí)現(xiàn)
point::point(int a,int b)
{
x=a;
y=b;
p=&point::x;
cout<<"x="<<x<<" 構(gòu)造函數(shù)被調(diào)用"<<endl;
}
point::~point()
{
cout<<"x="<<x<<" 析構(gòu)函數(shù)被調(diào)用"<<endl;
}
void point::display(void)
{
cout<<"x="<<x<<" y="<<y<<endl;
}
void point::move(int xx,int yy)
{
x+=xx;
y+=yy;
}
//主程序
int main()
{
point a,*p;
void (point::*q)(void);//定義指向成員函數(shù)的指針
p=&a;//對象指針p指向?qū)ο骯
q=point::display;//成員指針q指向point類的成員函數(shù)display
a.display();//利用對象名訪問對象的成員函數(shù)
p->display();//利用對象指針訪問對象的成員函數(shù)
(a.*q)(); //利用對象名和成員指針訪問對象的成員函數(shù)
(p->*q)(); //利用對象指針和成員指針訪問對象的成員函數(shù)
cout<<a.*(a.p)<<endl;//利用對象名和成員指針訪問對象的數(shù)據(jù)成員
cout<<p->*(a.p)<<endl;//利用對象指針和成員指針訪問對象的數(shù)據(jù)成員
return(0);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -