注册 登录
编程论坛 C++教室

关于 const对象和const成员函数的问题

pusawl 发布于 2006-12-14 19:56, 743 次点击

const对象是否只能访问类中的公有const成员函数及公有const数据成员?非const对象是否不受任何限制的访问类中的公有成员函数和数据成员?
如果const成员函数的参数是自身类的对象做参数呢?

const成员函数是否只能访问类中的const成员函数和const数据成员?换句话说就是const成员函数能否访问类中的非const成员函数和非const数据成员?

7 回复
#2
pusawl2006-12-15 12:45
为什么没人回答我的问题呢?是不是这个问题太简单,大虾门不愿意回答?
#3
song42006-12-15 16:11
没明白
你的意思
const 成员函数只能访问const 成员
#4
pusawl2006-12-15 19:16
今天专门研究了这个问题,结论如下:

对象.成员函数

对象 成员函数 对/错
1、 const const 对
2、 const non-const 错
3、 non-const const 对
4、 not-const non-const 对



成员函数调用成员函数

成员函数 成员函数 对/错
5、 const const 对
6、 const non-const 错
7、 non-const const 对?
8、 non-const non-const 对

说明:对于常对象,允许在构造函数中调用非const成员函数来初试化,因为常对象的const特性是在构造函数完成之后才生效的。

另外对于第7条未能得到证实,望大虾们指正。
#5
pusawl2006-12-17 10:09

高人指点一下下啊~~

#6
song42006-12-17 10:17
应该可以
我以前做过
operator<<
{
display()const;
}
#7
wangxiang2006-12-17 11:56

你的第7时对的,
non-const成员函数可以调用const成员函数

#8
pusawl2006-12-17 19:00
谢谢各位达人指点
1