[問題] const Reference的問題
假設我有一個ClassA和ClassB
class ClassA
{
private:
ClassB _b;
public:
ClassB& GetB();
}
class ClassB
{
private:
int _var;
public:
void SetVar(int var) { _var = var };
}
我想從ClassA取得ClassB的參考
ClassB& b = a.GetB();
但我不想讓外部改變a的_b
如b=anotherB; 這樣會導致a的_b被修改掉
我是想讓外部只透過b.SetVar來改變b的內部成員
如果我把GetB的回傳值設成const 那會導致b.SetVar不能呼叫
如果不設成const 又會導致a._b有可能被取代掉
請問要如何才能達成我要的要求呢? 還是只能使用指標了嗎?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.66.92
→
05/15 02:44, , 1F
05/15 02:44, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章