1. 物件陣列的定義
使用建構函式初始化,比如:
box box[2]={
box(2,3,5);
box(1,3,2);
2.物件指標
box* b1;
box b2;
b1=&b2; //定義
(*b1).height; 或者 b1->height; //兩句等價
感覺定義指向成員函式的指標這部分很少用啊,但是有點難,還是記一下好了
格式為資料型別名 (類名::*指標變數名)(引數列表);
初始化為
指標變數名=&類名::成員函式名
例子:void (time::*p2)();
p2=&time::get_time();
常見的還有指向物件的常指標
box* const p1; //表示指向box型別的p1變數是乙個const, 理解成p1是乙個const變數,所以不能改變它的指向
常指標通常用來作為函式的形參,保證在函式執行過程中不改變指標變數的值,使其始終指向乙個物件
還有個叫做指向常物件的指標
const box *p1; //表示p1指向的box變數是乙個常變數,不能通過p1來改變它的值
如果乙個變數被宣告成常變數,只能用指向常變數的指標指向它
指向常變數的指標不止可以指向const變數,還可以指向非const變數,此時不能通過指標改變該變數的值,但是指標變數本身的值是可以改變的
函式形參是非const的,實參就是非const的,如果形參是const的指標,實參可以是const,也可以是非const
3. 拷貝建構函式(複製建構函式)
程式需要建立乙個物件,並用另乙個同類物件對它進行初始化
函式的引數為類的物件時,呼叫時為了建立實參的拷貝,需要呼叫拷貝建構函式按照實參複製給形參、
函式的返回值是類的物件
這三種情況下系統自動呼叫拷貝建構函式
4. 靜態成員函式和靜態成員變數
靜態成員變數我記得在static的部落格裡面寫了用法了
靜態成員函式和非靜態成員函式的根本區別是:非靜態成員函式有this指標,靜態成員函式沒有this指標,所以靜態成員函式不能訪問非靜態的資料成員
C 類的學習筆記(二)
今天繼續學習類,這可是oop較為核心的內容。今天來講訪問控制。訪問控制有三個關鍵字protected public和private。當我們使用類物件的程式可以直接訪問公有成員函式,如果要訪問私有函式,我們可以通過公有函式來訪問。這是因為可以通過公有函式處理私有資料,這也是封裝的體現,資料要加密,不能...
C 中 類 學習
在c 中,用 類 來描述 物件 類是屬於使用者自定義的資料型別,class 並且該型別的資料具有一定的行為能力。與結構體一樣,類只是一種複雜資料型別的宣告,不占用記憶體,因此不可定義時對成員變數賦值 賦值需要記憶體空間儲存 乙個類的定義一般包含兩部分的內容,一是該類的屬性,另一部分是它所擁有的方法。...
C 中的類和物件 二
一,物件的動態建立和釋放 1.什麼是物件的動態建立和釋放 通常我們建立的物件都是由c 編譯器為我們在棧記憶體中建立的,我們無法對其進行生命週期的管理。所以我們需要動態的去建立該物件,因此我們需要在堆記憶體中建立物件和釋放物件。在c語言中為我們提供了malloc 函式和free 函式來為我們提供在堆記...