可以。但是没有“对象访问变量”这一说法。
#include
using namespace std;
class CTest
{
public:
void fun( void )const
{
cout<< "const function test.\n";
}
};
int main()
{
CTest const ca = CTest();
ca.fun();
}
你说的应该是这个意思:非常成员函数可以访问常成员变量。
#include
using namespace std;
class CTest
{
public:
CTest() : m_a( 0 ){}
void fun( void )
{
cout<< m_a <
private:
int const m_a;
};
int main()
{
}
反过来也可以,常成员函数也可以访问非常成员变量。但是,两种情况均不能修改变量,因为一个是常成员函数不能修改变量,而另一种情况是常成员变量不能被修改。
常对象是不能够修改成员变量,
所以你可以读取,但是不能修改。
为了避免常对象调用的函数对成员变量进行修改
所以常对象只能够调用常成员函数
dfgsdfgds