您的位置:首页 > 编程语言 > C语言/C++

关于C++ const成员的一些细节

2014-05-11 12:56 381 查看
1.const对象,只能调用const成员函数

2.非const对象可以调用const成员函数和非const成员函数

  a.如果类同时具有const重载版本的成员函数和非重载版本,那么该类实例化的非const对象调用该成员函数的时候,会调用非重载版本。

  b.如果类只有const版本的成员,那么实例化的非const对象会调用const版本的成员

实例如下:

class A
{
public:
A(){}
~A(){}
void foo()
{
cout << "foo() of A" << endl;
}
void foo() const
{
cout << "const foo() of A" << endl;
}
};

int main()
{
const A a;
a.foo();
A a1;
a1.foo();

return 0;
}

程序运行结果:

const foo() of A

foo() of A

class A
{
public:
A(){}
~A(){}
void foo() const
{
cout << "const foo() of A" << endl;
}
};

int main()
{
A a;
a.foo();

return 0;
}

运行结果:

const foo() of A
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: