1樓:_神__仙
animal myanimal=mycow;
子類物件賦給父類引用
為什麼不用new?
string a= "123";也沒有new,string是個類呀,為什麼沒new呢?
是因為"123"是string型別的物件,所以string a = 「123"不需要new
同理,animal myanimal = mycow也不需要new,new後面跟的是該類的共有構造方法,可以帶形參,也可以無引數,這裡要問了,為什麼沒寫建構函式卻能new物件呢?因為如果沒有自定義無參構造的情況下,系統會預設每個類都有一個無參的共有構造,如果自定義一個私有的無參構造,那麼就無法通過這個私有構造去new物件了。
派生類的定義是基於基類的,可以理解為派生類是基類的兒子,而基類就是父親,兒子理所當然會繼承父親的非私有的屬性和方法,所以繼承自動物類的牛和雞就都有了eatfood的方法
2樓:匿名使用者
animal myanimal=mycow;// 這行是什麼意思?
將子類的物件賦給基類,也就是父類,這樣當子類實現的父類的eatfood()
後,根據多型的表現基類會呼叫子類的eatfood()也可以理解為動態繫結
3樓:孤潤柔
public static void eatdongwu()class she : dongwu
class daozi:dongwu}
c中的問題
1 a new a 不一定是例項化。也可能是負值。比如obj a new a 其實大里是三步。obj a new a a new a 我這麼認為。我也沒看資料。2 要看這個class c 是不是最外一級。在外接class前面加private,protected根本不會通過編譯。預設是internal...
c 中的小問題,c 中的一個小問題
除法是基本運算,規則如下,如果兩個運算元中有一個為浮點型,則結果為浮點,如果兩個均為整型,則為整除。當整型取浮點時就要強制轉換 float 或者 double 例如 int a 5 int b 2 則a b的值為2 整除 而用 double a b的值則為2.5,用個強制型別轉換 double 就行...
自考C 中的問題
41 define pi 3.14 預定義不能有分號44 void main 上面括號裡的單引號應改為雙引號,因為print函式的形參是用來接收字串的 45 class cls z指標沒有分配空間,在這一行下面加一句 cls class malloc sizeof class 46 下面是完整的程式...