常成员函数不能调用非常成员函数:
比如:
#include<iostream>
using namespace std;
class A
{
const void print(){cout<<fun();}
};
int fun()
{
return 2;
}
int main()
{
A.a;
a.print();
return 0;
}
程序报错无法运行
而改动后:
#include<iostream>
using namespace std;
class A
{
public:
const void print(){cout<<fun;}
const int fun(){return 1;}
};
int main()
{
A a;
a.print();
return 0;
}
可以运行