问题处理缺点引用另一个类中的类
problem handling cons ref of a class within another
我有两个类
//class A is a kind of config-class which have configuration details
//for class B
class A{
//....
};
class B{
public:
B(A const& _a)
:a(_a){}
private:
A const& a;
};
到目前为止,一切都很好。
现在我想要的是一个B::configure(A const& _a)
函数,以便我可以动态地将configuration class A
的引用传递给class B
,该引用应分配给成员变量a
。 但是我无法更改成员变量B::a
因为它是const&
。
有什么解决方法?
我认为@Seth卡内基的方法更好,我应该使用一个指针来class A
内部class B
,这样:
class B{
public:
B(A const& _a)
:a(_a){}
configure(A const& _a)
{ a = &_a; }
private:
A const* a;
};
初始化
引用后,无论引用是否const
,都无法更改引用。const
只是阻止您对引用引用的变量进行更改。因此,要在构造实例后更改变量,您必须使用指针而不是引用。
你的语法相当不清楚,告诉我我是否误解了这个问题。
相关文章:
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 为什么将一个结构的引用设置为等于另一个结构只会更改一个数据成员?
- 我如何通过引用将 c++ 字符串分配给另一个字符串
- 重载运算符*以获取对另一个类的实例的引用
- 使用 scope 运算符 (::) 引用另一个文件中的类
- 返回一个引用C++中另一个类对象的对象的有效方法
- 引用另一个文件夹中的.dll
- 在另一个文件中初始化的 extern 数组中未定义的引用
- 初始化指针或引用成员变量以指向另一个成员
- 是否可以在引用另一个派生类的派生类中声明复制构造函数?
- 通过引用常量函数调用另一个类的非常量函数
- 是否可以通过引用将迭代器从指针向量传递到另一个函数?
- 如何在 VC++ 中通过引用传递另一个对象的方法(错误 C2664)
- 为什么在对象引用恒定时允许更改为另一个类的指针的成员变量
- 通过引用将私有类实例传递到另一个类 C++ 的"get"函数中
- C++如何将引用从一个函数传递到另一个函数
- 使用对另一个元组不同类型的元素的非常量引用来初始化元组的元素
- 对另一个静态库中静态库方法的未定义引用
- 引用另一个类时的 iStream 重载
- 错误访问另一个插件中的类(错误:未定义的引用)