關於C 多型性的問題

2021-10-06 05:16:44 字數 662 閱讀 4791

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語言的問題

迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...

關於愛情與性的問題,關於戀愛和性的問題

很靠譜。但是你要讓她知道你的想法,給她點安全感。就這樣,感情也有過渡期的。慢慢找原因,改變了就是永恆 選擇乙個日期。如生日。節日。燭光晚餐,喝點酒。突破一次。她不願意,就不談了。半推半就願意了。你們商量結婚的事。用法律來保障你們倆的夫妻生活權利。女孩子保守一點事好的,建議你把你的愛融入到生活的點點滴...

關於C的平台無關性

首先我要講一點c 的程式的可移植性還不夠強大,目前,在微軟以外的作業系統上執行我還沒有看到。一般c 程式只能執行在windows作業系統上,或者經微軟授權的相在系統上。c 編譯的檔案是exe檔案。但他和c 的exe檔案是有區別的。c 的exe檔案是執行在.net構架之上的。沒有.net構架,c 程式...