1基類指標和派生類指標與基類物件和派生類物件4種可能匹配:
直接用基類指標引用基類物件;
直接用派生類指標引用派生類物件;
用基類指標引用乙個派生類物件;
用派生類指標引用乙個基類物件。
2.基類指標引用派生類物件
例如:
a * p ; // 指向型別 a 的物件的指標
a a_obj ; // 型別 a 的物件
b b_obj ; // 型別 b 的物件
p = & a_obj ; // p 指向型別 a 的物件
p = & b_obj ; // p 指向型別 b 的物件,它是 a 的派生類
利用 p,可以通過 b_obj 訪問所有從 a 類繼承的元素 ,
但不能用 p訪問 b 類自定義的元素 (除非用了顯式型別轉換)
1 #include 2 #include 3using
namespace
std;45
6//使用基類指標引用派生類物件
7classa8
15void
print()
1619
};20
21class b:publica22
29void
printnum()
3033
};34
35void
main()
36
3.派生類指標引用基類物件
1 #include 2using
namespace
std;34
class
data511
void setdata(int y,int m,int
d)12
17void
print()
1821
protected:22
intyear,mouth,day;
23};
2425
class datatime:public
data
2632
void settime(int h,int m,int
s)33
38void
print()
3945
private:46
inthours,minutes,second;
47};
4849
void
main()
50
C 之類成員指標
需要用到 和 兩個操作符了。其實這兩個操作符也沒啥新奇的。和 分別為物件和物件指標的成員訪問操作符,而 則為解引用操作符。當寫下 ac.ipm 時,其實就是請求將 ac的位址加上ipm所表示的偏移量,然後訪問該 ac 所表示的物件中的特定資料成員。當寫下 pc ipm 時,其實就是pc所指向的位址加...
複習 C 之類之間的關係
類間的關係有很多種,在大的類別上可以分為兩種 縱向關係 橫向關係。縱向關係就是繼承關係。類的繼承,是新的類從已有類的那裡得到已有的特性。或從已有類產生新類的過程就是類的派生。原有的類稱為基類或父類,產生的新類稱為派生類或子類。乙個派生類可以同時有多個基類,這種情況稱為多重繼承,派生類只有乙個基類,稱...
C 之類和物件的關係
例1 附例1 小問學程式設計 例 設計乙個圓類。屬性 圓心座標 半徑。操作 對圓的資訊進行讀取 設定以及列印,計算兩個圓之間的距離。類 circle物件 c1 c2 關係 類是物件的抽象型別 物件是類的具體例項 示例分析 類中定義成員時被private修飾的成員為類的私有成員,類外不可見。被publ...