静态成员函数 间接 访问非静态数据成员

来源:互联网 发布:五笔打字员软件下载 编辑:程序博客网 时间:2024/04/27 13:21
// 静态成员函数间接访问非静态数据成员
// 静态成员函数可以直接引用该类的 静态数据成员 和 静态成员函数,但不能
// 直接引用 非静态数据成员 和 非 静态成员函数,否则编译报错
// 如果要引用,必须通过参数传递的方式得到对象名,然后再通过对象名引用
#include<iostream>
using namespace std;


classMyclass
{
private:
intm;// 非静态数据成员
staticintn;// 静态数据成员
public:
Myclass();// 构造函数
staticintgetn(Myclass a);// 静态成员函数
};


Myclass::Myclass()
{
m = 10;
}


intMyclass::getn(Myclass a)
{
cout << a.m << endl;// 通过类间接使用  非静态数据成员
return n;// 直接使用  静态数据成员
}


intMyclass::n = 100;// 静态数据成员初始化


voidmain()
{
Myclass app1;
cout << app1.getn(app1) << endl;// 利用对象引用静态函数成员
cout << Myclass::getn(app1) << endl;// 利用类名引用静态函数成员
}
原创粉丝点击