Father是Son類的父類
例如:
Father a;
Son b;
a = b;
這個是沒有問題
但是:
vector<Father> a;
vector<Son> b;
a = b; // 會出錯
請問怎么將子類vector賦值給父類
uj5u.com熱心網友回復:
vector<Father> a;vector<Son> b;
a = b; // 會出錯
請問怎么將子類vector賦值給父類
//----------------------------------------------------------------------------------------
這里 a和 b 同為vector類,不存在繼承關系。而且 vector作為一個通用的容器類,根本無法實作 a=b,否則a管理的指向的Father的記憶體塊就被搞亂了。
你只能根據你的特列多載運算子 = 的實作 ,比如 vector<Father>& operator = ( vector<Son> &b );
uj5u.com熱心網友回復:
哥,=并不是萬能的uj5u.com熱心網友回復:
vector<Father> a;
vector<Son> b;
a.assign( b.begin() , b.end() );
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67675.html
標籤:基礎類
