c中new和override的區別

時間 2021-10-14 20:16:03

1樓:匿名使用者

如果你用override,則無論呼叫的是a類還是b類中的test(),系統都會找到它實質類的test();

如果是用的new,則可以通過型別轉換呼叫到基類的test();

下面是override的情況:

a a = new a();

b b = new b();

a a1=new b();

a.test();//呼叫a中test();

b.test();//呼叫b中test();

a1.test();//呼叫b中test();系統會自動識別a1是b的例項

((a)b).test();//與上面相同下面是new的情況:

a a = new a();

b b = new b();

a a1=new b();

a.test();//呼叫a中test();

b.test();//呼叫b中test();

a1.test();//呼叫a中test();

((a)b).test();//與上面相同

2樓:匿名使用者

new 是替代原有的,override是在原由方法的基礎上增加**.在override中可以自己決定是否通過"base."+ 系統原來的方法名 執行系統原有的方法.

new中就完全是自己的**了

你上面的例子中應該呼叫b方法中的test方法

3樓:匿名使用者

new 是新建立,override是過載已經有的,常用與過載類的事件

c#中void與override區別是什麼

4樓:匿名使用者

void 指方法沒有返回值。

override是重寫,這是對父類

的一個定義好的方法的重寫。

例如:class newbase//定義一版個類}class anewbase : newbase}

5樓:匿名使用者

這兩個完全就不是一個道上的東西的。。

void 表示函式沒有任何返回值版,

而override則是表示重寫一個函權數的,這個多在類裡面用的比較多的。在類裡面進行函式的重寫的,然後實現另外的或者額外的功能的。。

6樓:匿名使用者

void 指方法的返回值。是無返回值的型別,

override是重寫,這是對類的操作,可以對方法的重寫。

7樓:匿名使用者

這兩個沒有可比性!實在要說的話也是overload與override的區別!這個網上太多了!面試的經典題

C 中的new函式怎麼用,C 中new的用法

1.new的作用是從自由儲存為 類 的物件或物件陣列分配記憶體,並將已適當分類的非零指標返回到物件。比如 char pchar new char 10 delete pchar 例子中動態分配了10個char型別的記憶體給了pchar,來構成一個陣列。需要注意的是,分配陣列採用 如果只是單個的只要n...

c 中NEW運算子的用法,C 中new的用法

c 中new運算子使用的一般格式為new 型別 初值 用new分配陣列空間時不能指定初值。如果由於記憶體不足等原因而無法正常分配空間,則new會返回一個空指標null,使用者可以根據該指標的值判斷分配空間是否成功。 吾不笑 new int 開闢一個存放整數的儲存空間,返回一個指向該儲存空間的地址 即...

new delete的用法,c 中new和delete的用法

一 new的用法 1.new 分配這種型別的一個大小的記憶體空間,並以括號中的值來初始化這個變數 2.new 分配這種型別的n個大小的記憶體空間,並用預設建構函式來初始化這些變數 例子 include include using namespace std int main 輸出結果 hhello ...