静态成员函数可以直接引用该类的 静态数据成员 和 静态成员函数,但不能直接引用 非静态数据成员 和 非静态成员函数,否则编译报错。如果要引用,必须通过参数传递的方式得到对象名,然后再通过对象名引用
#include<iostream>
using namespace std;
class Myclass
{ private: int m;
//非静态数据成员
static int n;
//静态数据成员
public: Myclass();
//构造函数
static int getn(Myclass a);
// 静态成员函数
};
Myclass::Myclass()
{ m = 10;}
int Myclass::getn(Myclass a)
{ cout << a.m << endl;
// 通过类间接使用 非静态数据成员
return n;
// 直接使用 静态数据成员}
int Myclass::n = 100;
// 静态数据成员初始化
void main()
{ Myclass app1;
cout << app1.getn(app1) << endl;
// 利用对象引用静态函数成员
cout << Myclass::getn(app1) << endl;
// 利用类名引用静态函数成员
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。