隱藏基類:法1-用新的派生成員替換基成員
class
a}
classb:
a}
static
void
main
(string
args)
//結果是「b」
法2-重寫虛擬的基成員
重寫:子類基類有相同簽名。:重寫的基方法virtual、abstract或override。
過載:同類中,同名稱,不同引數,不同簽名。
預設,方法非虛擬,不能重寫非虛方法。virtual修飾符不能與static、abstract和override修飾符一起使用。在靜態屬性上使用virtual修飾符是錯誤的。
class
student
public
virtual
void
dispdata()
//虛方法
姓名: 班 主 任:"
, no, name, tname)
;}
class
graduate
:student
姓名: 指導教師:"
,no, name, tname);}
}
static
void
main
(string
args)
設計乙個控制台應用程式,採用虛方法求長方形、圓、圓球體和圓柱體的面積或表面積。
public
class
rectangle
//長方形類
public
rectangle
(double x1,
double y1)
public
virtual
double
area()
//求面積
public
class
circle
:rectangle
//圓類
public
override
double
area()
//求面積
}
class
sphere
:rectangle
//圓球體類
public
override
double
area()
//求面積
}
class
cylinder
:rectangle
//圓柱體類
public
override
double
area()
//求面積
}
static
void
main
(string
args)
,寬為的長方形面積="
, x, y, t.
area()
);console.
writeline
(" 半徑為的圓面積="
, r, c.
area()
);console.
writeline
(" 半徑為的圓球體表面積="
, r, s.
area()
);console.
writeline
("半徑為,高度為的圓柱體表面積="
C 多型性和繼承性
這篇文章是6年前的,從自己的qq 632846506 日誌中移過來的。前段時間有人突然問我c 多型性的理論知識,一下子把我問蒙了,用c 近十年,讓我一下子回答多型性的理論。我答不上來,只是簡單的回答了下 多型性主要用在函式介面上,主要是虛函式和純虛函式 的使用,基類中的函式可以在不同子類中有不同的實...
C 繼承與多型性
編寫乙個人員資訊管理系統。這個系統的功能是 互動式的實現校園人員資訊的錄入與顯示。分析 學校裡,主要有四類人員 大學本科學生 教師 研究生和助教。大學本科生每週有固定的學時數。教師除了固定的學時數外,還有每週的教學時數。研究生除了固定的學時數外,每週還可以自由做一定的研究。助教生除了上課外,還要做研...
多型性和虛繼承
多型性 字面意思是多種形狀,即 乙個介面,多種方法 c 的多型性是由虛函式來實現的,虛函式允許派生類重新定義成員函式,派生類重新定義基類的方法稱為遮蔽。只有重寫虛函式才算是體現了函式的多型性。過載沒有體現多型性,因為過載是根據同名函式的不同引數型別選擇使用哪個函式的。include using na...