c 學習二(訪問控制 類和物件)

2021-08-22 15:11:35 字數 874 閱讀 6883

很基礎的知識:利用c++語言寫的源檔名的字尾是用cpp結尾的。然後在linux下編譯的時候是用g++編譯的

如果類裡面的屬性或者函式沒有顯式宣告為public或者private,那麼類中的變數和函式的許可權預設為private。就表明這個類中的這些函式和變數只能在類內部中使用。想讓類外部的**訪問類內部的資料成員或函式方法的話要宣告為public。

要想訪問類中private的變數必須在類內部寫乙個函式來完成,然後這個函式宣告為public,再從外部呼叫這個函式。

為什麼要將類中的資料成員設定成private?

防止使用者初始化出錯的值,正確做法是將類中的資料成員設定成private,然後再寫一些public的函式來設定這些資料成員的值,在這些函式中對傳進來的引數做一些條件判斷,這就避免了使用者對資料成員設定成一些錯誤的值。

#include class person

int setage(int age)

this->age = age;

return 0;

}void setwork(char *work)

void printinfo(void)

};int main(void)

在c++的規範中類的名字首字母應該大寫。

int a;(int是乙個型別,a是乙個變數)

person per;(person是乙個類,也就是乙個資料型別,per稱為這個person類的物件)

乙個物件中含有這個類的資料成員和函式方法。

this指標:指向當前物件,引用當前物件的屬性或者資料成員要用->

c語言中和c++中同名的變數有個就近原則,相同名字的區域性變數會掩蓋全域性變數。

C 訪問控制,類和物件2 1

class是對struct的擴充套件,含有資料成員和成員函式 在類的成員變數不寫public,預設許可權為private,變數和函式只能在內部使用,外部 不能訪問,public類外的程式可使用。c 規範中,類的首字母應該大寫。int a int 是型別,a是變數 person per person ...

C 學習 類和物件(二)

先來看下面 include using namespace std class person int main 執行結果 zyc localhost lession class a.out jack 20 123456 rose 21 654321 為什麼呼叫同樣的函式,但是結果卻不一樣呢?原因就在...

C 學習(七) 類和物件(二)

include using namespace std class myclass 2 析構函式的寫法 沒有返回值 不寫void 函式名與類名相同 在函式名稱前加 不可以有引數,不可以發生過載 由編譯器自動呼叫,不需要手動呼叫,編譯器也只呼叫一次 myclass void test01 intmai...