不能將父類的物件賦值給子類物件
因為物件的賦值操作呼叫了乙個函式 operator=()函式,該函式會將運算子右邊的這個物件的成員賦給左邊的物件
#include
class father
private:
int x;
};class son:public father
;int main()
operator=()函式是左邊物件呼叫的,所以賦值操作以左邊物件為準
基類的指標可以指向派生類的物件,但是派生類的指標不可以指向基類的物件
son*p1=&a ;//因為派生類的物件所佔的儲存空間通常要比基類的物件大
派生類處理繼承基類的成員之外,還擁有自己的成員,所以在用基類的指標操作派生類的物件時,由於基類指標會像
操作基類物件那樣操作派生類物件,而基類物件所
占有的記憶體空間又通常會小於派生類物件,所以基類指標不會超出派生類物件去運算元據。
多型 繼承 final成員賦值
繼承 方法覆蓋 父類引用指向子類例項 物件 哪些成員不能被繼承 1 修飾符 static修飾的方法不能被繼承覆蓋 2 修飾符 final修飾的方法不能被重寫 覆蓋 3 許可權修飾符 private修飾的方法不能被繼承覆蓋 4 父類中的構造方法不能被繼承 自己定義乙個類,類中定義3個成員變數,這3個成...
C 賦值號能否被繼承
在c 中,普通函式能夠被繼承,但是析構函式和建構函式不能被繼承。這裡有個問題,c 賦值號能否被繼承?看以下 include using namespace std class a public a a 0 cout a operator a aa cout this a aa.a return th...
C 賦值操作符不能繼承
在網上搜尋相關資料時,看到有人說,賦值操作符可以被繼承,並且給出了乙個例子。一時間,也沒想出那個例子錯在 例子 如下 include using namespace std class a class b publica void printnum intmain 在上面這個例子中,派生類呼叫了基類...