静态成员函数怎么引用该类中的非静态成员函数

如题所述

静态成员函数可以直接引用该类的 静态数据成员 和 静态成员函数,但不能直接引用 非静态数据成员 和 非静态成员函数,否则编译报错。如果要引用,必须通过参数传递的方式得到对象名,然后再通过对象名引用#include<iostreamusingnamespacestd;classMyclass{private:intm;// 非静态数据成员staticintn;// 静态数据成员public:Myclass();// 构造函数staticintgetn(Myclassa);//静态成员函数};Myclass::Myclass(){m=10;}intMyclass::getn(Myclassa){cout<<a.m<<endl;//通过类间接使用非静态数据成员returnn;//直接使用静态数据成员}intMyclass::n=100;//静态数据成员初始化voidmain(){Myclassapp1;cout<<app1.getn(app1)<<endl;//利用对象引用静态函数成员cout<<Myclass::getn(app1)<<endl;//利用类名引用静态函数成员}
温馨提示:答案为网友推荐,仅供参考
相似回答