關於C 多型性的問題

時間 2021-10-14 22:40:07

1樓:力波鴻

你應該把main裡的:

someone->name = name;

改為((beauty)someone)->name = name;

因為你用的是person指標,person *someone;

你若不註釋掉beauty裡的name,

someone->name會指向person的name,而不是beauty裡的name,

因為你的beauty裡先是繼承了person的name,它的真實名字可能是name@hash1

而你beauty裡又有個name,它的真實名字是name@hash2

則你使用someone->name的時候實際是使用someone->name@hash1,這是編譯器選擇的....

而beauty裡introduction使用的name是name@hash2,所以你會遇到這狀況...

2樓:匿名使用者

beauty 中的name不存在時,會繼承person的,當他存在時,就使用自己的name了,所以不會顯示cc

3樓:匿名使用者

如果不註釋的話,這個子結構體的name會覆蓋掉父結構體的name,而子結構體終的name沒有初始化,可能預設值為空值,所以沒有列印出來,你檢查一下是不是這樣

C 靜態多型是什麼意思,C 支援兩種多型性分別是 ? ?

靜態多型也稱編譯時多型性,是通過函式過載 包括運算子過載 和模版實現的。當兩個或兩個以上的函式共用乙個函式名時,稱為函式的過載 什麼叫做多型性 在c 中是如何實現多型的?c 中函式過載能實現動態多型性還是靜態多型性?c 中的函式過載能實現靜態多型性。細節如下 多型是指同乙個名稱可以代表不同的含義 多...

遺傳多型性和遺傳多樣性

慄玉花能女 這個從定義中就可以看到明顯區別 遺傳異質性 一種遺傳性狀可以由多個不同的遺傳改變所引起,與遺傳多效性相反。可分為基因座異質性和等位基因異質性。遺傳多型性 是在同一群體中,某個基因座上存在兩個或兩個以上的等位基因,且等位基因的頻率大於0.01的現象。其形成機制是基因突變。評價遺傳多型性的主...

染色體多型,什麼是染色體多型性

板又綠 染色體的 多型性又稱 異態性 heteromorphism 是指正常人群中經常可見到各種染色體 形態的微小 變異。這種變異主要表現為 同源染色體 大小形態或著色等方面的變異。多型性是可遺傳的,並且通常僅涉及一對同源染色體中的一個。例如表現的d和g組的 隨體增大 重複 雙隨體 或 缺如,短臂的...