原文:動態創建3類對象,通過基類的指針指向派生類對象,並調用派生類對象相應函數

任務描述: 定義抽象類Shape,在此基礎上派生出圓類Circle 正方形類Square 三角形類Triangle, 個派生類都有構造函數,輸入和顯示信息函數Input Show ,計算面積的函數Area ,計算周長的函數Perim 。完成以上類的編寫,在主函數中動態創建 類對象,通過基類的指針指向派生類對象,並調用派生類對象相應函數。 源代碼: 輸入: 測試結果: ...

2020-04-29 16:59 0 671 推薦指數:

查看詳情

基類指針指向派生類對象

派生類對象也“是”基類對象,但兩者不同。 派生類對象可以當做基類對象,這是因為派生類包含基類的所有成員。 但是基類對象無法被當做成派生類對象,因為派生類可能具有只有派生類才有的成員。 所以,將派生類指針指向基類對象的時候要進行顯示的強制轉換,否則會使基類對象中的派生類成員成為未定義 ...

Tue Mar 18 19:19:00 CST 2014 0 6266
基類指針指向派生類對象&派生類指針指向基類對象

靜態綁定 如果以一個基礎指針指向一個衍生對象(派生類對象),那么經由該指針只能訪問基礎定義的函數 如果以一個衍生指針指向一個基礎對象,必須先做強制轉型動作(explicit cast),這種做法很危險,也不符合生活習慣,在程序設計上也會給程序員帶來困擾。 如果基礎和衍生 ...

Tue Jul 07 03:13:00 CST 2020 0 1494
基類派生類,父類指針指向子類對象

先看一段代碼: 運行結果如下,情理之中,意料之內: C++創建對象的時候先創建基類部分,然后創建派生部分。析構的時候要反過來了,先釋放子類部分,然后在釋放父類部分。但是這里只釋放了父類部分,沒有釋放派生類的部分。為什么呢? 原因很明確:因為之類pB是基類指針,雖然指向 ...

Fri Mar 09 07:05:00 CST 2018 1 3611
派生類對象地址賦給基類指針后, 指針基類派生類函數調用

派生類對象地址 賦值給 基類指針派生類指針 后, 同名函數可能會發生 override 和 隱藏 情況. override: 派生類函數基類函數同名, 參數也相同, 且基類函數含有 virtual 關鍵字 隱藏: 指派生類函數屏蔽了與其同名的基類函數. 規則如下: 派生類函數 ...

Wed Jun 05 00:22:00 CST 2019 0 726
基類派生類對象調用

下列代碼之后的結果為( ) #include<iostream> using namespace std; struct Base{ int i; virtual ...

Sat Aug 05 23:26:00 CST 2017 0 1585
派生類基類 指針指向

https://juejin.im/post/6844904054930292749 派生類基類的關系並不是兩個獨立的類型,在派生關系中, 派生類型“是一個”基類類型(Derived class is a base class)。在C++語法里規定:基類指針可以指向一個派生類對象 ...

Tue Sep 29 07:20:00 CST 2020 0 745
派生類基類

C++一個主要目標是提供代碼重用,繼承是實現該目標的重要途徑之一。從一個派生出另一個時,原始稱為基類,繼承稱為派生類。 1. 派生類對象存儲了基類的數據成員 2. 派生類對象可以使用基類的方法 關於三種繼承方式的成員訪問權限: 1. 基類的 private ...

Tue Apr 17 18:31:00 CST 2018 0 973
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM