C 筆記第三節課

2022-06-01 17:12:11 字數 1747 閱讀 3682

首先我對上節課老師說的這幾個關鍵字

virtual

override

new

進行了一下測試,用例就是老師上課講的那個,自己在編譯器上又實現了一遍

**如下

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

}class

b : a

}class

c : b

}class

d : c

}class

program}}

為了更明顯的看到執行結果把movie裡面的輸出改變成了 in class x。。。結果如下

解釋一下這個就是首先obja是乙個a型別的物件,但指向的是他的子類乙個d型別的,a中的movie是virtual所以我們往下找找到b裡面的override,可以用,但是還有子類我們繼續往下找找到c發現是個new virtual,編譯器到這裡截斷不再往下找 所以用b中的函式

第二個因為b就是b的物件所以直接執行b型別的

第三個我們從c開始找c中的movie是virtual所以我們向下找到d,d中的可用並且沒有子類我們停下輸出d

最後乙個a型別的a物件所以直接用a中函式即可

然後說一下這兩個關鍵字

ref

out

ref關鍵字就和類似於c++中的&的引用傳遞,在引數前面加上ref即可實現引用傳遞

舉例**

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

public

static

void testout(out

int a, out

int b, out

intc)

static

void main(string

args)

", a, b, c);

testref(

ref a, ref b, ref

c); console.writeline("

", a, b, c);

console.readline();}}

}

這裡abc首先都沒有被賦初值,然後在testout中有了初值, 在testref中做了更改。。。

結果不貼了。。。比較易讀

關於sealed關鍵字

阻止某個類/某個類中的函式被繼承,如果類前面加了sealed

sealed

class

a

那麼我們就沒辦法繼承a這個class

如果sealed在某個類的某個函式前面那麼這個函式將不能在派生類中被重寫

關於overloading的相關上節課的筆記中已經寫過不再贅述

C 的第三節課

計算機如何儲存資訊,按值儲存的資料的資料型別,包括int uint,long ulong,char,float,double,bool,decimal,byte,sbyte.字元值和數字值之間的異同,如何宣告和初始化變數。byte有帶有符號形式 sbyte 和無符號形式 byte 計算機並不能識別字...

csdn第三節課

筆記部分 1.網頁中影象的插入 一.屬性 1 alt 當無法顯示是給以使用者提示 2 title 滑鼠移動到上時顯示資訊 3 src 用於 中找出的路徑.二.路徑 1 當前的目錄檔案 直接寫出檔名 或 檔名 2 子集目錄檔案 同級檔名 子集檔名 3 上級檔案 檔名 多一級多加乙個 2.超連結 一.兩...

php第三節課

正規表示式 正規表示式 斜槓代表定界符 str abcde123fg456h reg d echo preg replace reg,str 將字串 str按照職責表示式reg替換為 var dump preg split reg,str 將字串str按照正規表示式拆分 arr array preg...