08-類

寫在前面

物以類聚,人以羣分--這樣就引出了類的概念

名詞解釋

類定義是以關鍵字 class 開頭,後跟類的名稱。
類的主體是包含在一對花括號中。類定義後必須跟着一個分號或一個聲明列表

碼上建功 --類


//定義一個Student類
class Student {
//訪問權限,類的訪問權限默認只能在類的內部。
public:
    //定義屬性
    int no;
    //定義無返回值的方法
    void study() {
        cout << "study() - no is " << no << endl;
    }
};

對,創建一個類就是這麼簡單

'如何使用'
//初始化--是不是很簡單,因爲這是最簡單的,沒有構造器的初始化方法 Student student;
//屬性訪問與賦值
student.no = 100;
student.study();
//當然你也可以用指針這樣訪問
Student *pStudent = &student;
pStudent->no = 150;
pStudent->study();
打印結果:
study() - no is 100
study() - no is 150

上面代碼中person對象、pPerson指針的內存都是在函數的棧空間,自動分配和回收的
"奉上訪問權限說明符"
/**
 private,public,protected方法的訪問範圍.(public繼承下)
 private: 只能由該類中的函數、其友元函數訪問,不能被任何其他訪問,該類的對象也不能訪問.
 protected: 可以被該類中的函數、子類的函數、以及其友元函數訪問,但不能被該類的對象訪問
 public: 可以被該類中的函數、子類的函數、其友元函數訪問,也可以由該類的對象訪問
 注:友元函數包括兩種:設爲友元的全局函數,設爲友元類中的成員函數
 */

碼上建功 --結構體

//定義一個Worker結構體
struct Worker {
    //定義屬性
    int age;
    //定義無返回值的方法
    void work() {
        cout << "work() - age is " << age << endl;
    }
};

Worker worker;
worker.age = 20; //可以直接訪問,默認修飾的屬性是public
worker.work();
運行結果:
work() - age is 20

裝逼一下

A類(基類)	B類(A的派生類)	C類(B的派生類)
公有繼承	公有成員	公有成員	公有成員
私有成員	(無)	(無)
保護成員	保護成員	保護成員
私有繼承	公有成員	私有成員	(無)
私有成員	(無)	(無)
保護成員	私有成員	(無)
保護繼承	公有成員	保護成員	保護成員
私有成員	(無)	(無)
保護成員	保護成員	保護成員
 

完整代碼demo,請移步GitHub:DDGLearningCpp

當然C++大神就繞吧,非喜勿噴,畢竟這是個人的學習筆記📒

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章