我有几个类,其中一个继续引用其他的对象:
class Inner {};
class Outer {
Inner & in;
public:
Outer(Inner & in) : in(in) {}
};
Run Code Online (Sandbox Code Playgroud)
如果我必须从const引用到Inner创建外部对象怎么办?为了这个,我是否必须为OuterConst写特定的课程?
UPD:使用模板的任何简洁解决方案?为了避免在OuterConst类中重复代码.
UPD2:当Inner没有const时,它应该是可修改的(所以我不能在当前的Outer实现中将const添加到Inner成员).
如果我必须从const引用到Inner创建外部对象怎么办?
好吧,你做不到.这就是它.如果Outer只需要调用Inner的const成员函数,那么使它成为const引用 - 否则,你的类依赖于一个可变的Inner对象,你不应该从const引用创建一个Outer对象.