c++常对象可以访问非常成员变量和非常成员函数吗

c++非常对象可以访问常成员变量和常成员函数吗
2024-11-30 18:17:42
推荐回答(3个)
回答1:

可以。但是没有“对象访问变量”这一说法。
#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()
{

}
反过来也可以,常成员函数也可以访问非常成员变量。但是,两种情况均不能修改变量,因为一个是常成员函数不能修改变量,而另一种情况是常成员变量不能被修改。

回答2:

常对象是不能够修改成员变量,
所以你可以读取,但是不能修改。
为了避免常对象调用的函数对成员变量进行修改
所以常对象只能够调用常成员函数

回答3:

dfgsdfgds