類
一.類的定義
//類的定義
class
classname
;//一定要注意後面的分號
類的定義通常有兩種方式:
a.類的宣告和定義全部放在類體中。
// 宣告和定義放在一起
class ctest
~ctest()
};
b.類的宣告放在.h檔案中,類的定義放在放在.cpp檔案中。
// test.h類的宣告
class ctest(
;// test.cpp類的定義
ctest::ctest()
ctest::~ctest()
c++中的struct和class有什麼區別:
兩個預設的訪問許可權不同,class是private型,而struct為public型(因為struct要相容c)
二.類的封裝
c++的三大特性:封裝、繼承、多型
封裝:隱藏物件的屬性和實現細節,僅對外公開介面和物件進行互動,將資料和運算元據的方法進行有機的結合。
函式是封裝的一種形式:函式中的語句被封裝在函式本身這個更大的實體中,被封裝的實體隱藏了它們的實現細節。可以呼叫該函式但是不可以訪問函式中的語句。
訪問限定符:public(公有)、private(私有)、protected(保護)
說明:
三、類的作用域
c++中的作用域:全域性域、區域性域、命名空間域、類域
類域
//命名空間域
namespace n1
}//全域性域
int a = 20;
void funtest()
//類域
class test
void geta()
private:
int _a;
};int main()
this指標
一、this指標特性:
this指標的型別:類型別* const
this指標是乙個常量,其內容不可以修改;但其所指向空間裡的內容是可以改的。
this指標並不是物件本身的一部分,不影響sizeof的結果。
注:乙個類的大小,實際就是該類中「成員變數」之和。
this的作用域在類「成員函式」的內部。
this指標是「類成員函式」的第乙個預設隱含引數,編譯器自動維護傳遞,類編寫者不能顯式傳遞。
只有在類的非靜態成員函式中才可以使用this指標,其他函式都不可以。
二、_thiscall呼叫約定:
_thiscall只能夠用在類的成員函式上。
引數從右向左壓棧。
如果引數個數確定,this指標通過 ecx暫存器傳遞給被呼叫者;
如果引數個數不確定(_cdecl),this指標在所有引數被壓棧後壓入堆疊。
三、面試題:
//this指標為空
class test
intvalue;
};int main()
C 類和物件 this指標
先來乙個c語言中的結構體 struct student 在建立結構體變數後,要修改結構體中的變數的話,需要這樣 int main 這樣子來修改或者呼叫 比如說我要寫乙個函式初始化學生 void initstudent student this,char name,char gender,int ag...
C 類的物件和類的指標的區別 指標和引用的區別
include include using namespace std class student void set string str void print 態成員函式 print int student number 0 靜態資料成員初始化 int main int argc,char arg...
C 類的物件和類的指標的區別
如下程式 include include using namespace std class student void set string str void print 態成員函式 print int student number 0 靜態資料成員初始化 int main int argc,cha...