c 之類指標的關係

2022-09-08 13:42:14 字數 1266 閱讀 4192

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 3

using

namespace

std;45

6//使用基類指標引用派生類物件

7classa8

15void

print()

1619

};20

21class b:publica22

29void

printnum()

3033

};34

35void

main()

36

3.派生類指標引用基類物件

1 #include 2

using

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...