C++學習Day3

struct 和 class

和c#裏不一樣,默認public ,相當於 c#public類型的class,c#裏struct是值類型
class則默認private

源文件中的函數調用

Point::getX() 代表作用域 Point下的成員函數getX();不同源文件中的類中調用其他類的函數時添加#include<對應的.h>就好了
{

}

構造函數

類名(){}
沒有返回值,但是可以有參數,可以重載,程序會在調用類的對象創建時候自動調用,且只會調用一次

析構函數

~類名(){}
沒有返回值,不可以有參數,不可以重載,程序會在調用類的對象銷燬時候自動調用,且只會調用一次
無參構造函數使用時不要加括號,否則會被當成函數聲明,Person p1;//無參調用構造

初始化列表初始化屬性

class Person{
Person ():a(10),b(20)
int a;
int b
}
class Person{
Person (int a1,int b1):a(a1),b(b1)
int a;
int b
}

this的使用

this-> 和c#裏this.的意義一致

友元

就是c#裏全局變量的意思
需要在頭文件.h中的這個類的第一行寫需要另一個類的友元類或者函數聲明,來調用聲明位置這個類的私有變量(private屬性)
聲明示例:
class 需要訪問私有屬性的類
{
friend 另一個類或者函數;//第一行
}

加號運算符重載

class Person
{
public:
Person operator+(Person &p)
{
裏面寫重載的內容
}}

繼承

  • 公共繼承:可以被該類中的函數、子類的函數、其友元函數訪問,也可以由該類的對象訪問
    class 子類:public 父類 子類也稱爲派生類,父類也稱爲基類
    {}
  • 保護繼承 protected 可以被該類中的函數、子類的函數、以及其友元函數訪問,但不能被該類的對象訪問
  • 私有繼承 pricate 只能由該類中的函數、其友元函數訪問,不能被任何其他訪問,該類的對象也不能訪問. 私有繼承之後,子類裏的所有變量保護級別都變成private級別,子類的子類訪問不到內部的全部內容
    父類中私有內容,子類訪問不到
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章