[問題] C++ 我該怎麼達到重新construct一個物件的效果?
遇到的問題: (題意請描述清楚)
若我現在有一個 class A 的物件叫做 a
我想要利用這樣的method:
a.read(istream& in);
或
in >> a;
(其實應該是差不多意思)
把讀入的資料parse過後存成自己
可是問題是 我的資料有一部份是繼承自parent的 但parent並沒有提供類似method
也沒有提供寫入或修改那個data member的method
簡單來說就是 parent對自己的概念是 建立了之後就不能變
那我有辦法達到我想要的效果嗎?
就我所知 重新呼叫constructor是錯誤的 但我又沒有辦法設定那些data member
是否唯一的方法是在client端(使用class A的地方)重新建構一個新的A呢?
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
ansi c++
有問題的code: (請善用置底文標色功能)
class A : public B
{
public:
A(SomeType x):B(x), _y(0){}
void read(istream& in);
private:
int _y;
};
void A::read(istream& in)
{
SomeType x;
in >> x;
//想把x變成自己的(B的)一部分,該如何重新建構?
}
補充說明:
我沒辦法把B當作自己的一個member(而非繼承)
因為B有很多method我希望可以直接拿來用 而不用重包一次
這樣的狀況該如何解呢?麻煩各位幫忙解個惑 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.154.15
推
05/14 22:46, , 1F
05/14 22:46, 1F
→
05/15 00:44, , 2F
05/15 00:44, 2F
推
05/15 00:52, , 3F
05/15 00:52, 3F
推
05/15 03:24, , 4F
05/15 03:24, 4F
推
05/15 03:34, , 5F
05/15 03:34, 5F
→
05/15 18:18, , 6F
05/15 18:18, 6F
→
05/15 18:18, , 7F
05/15 18:18, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章