C++(類)
阿新 • • 發佈:2018-11-23
類
具有相同屬性的一類事物,將不同型別的資料和與這些資料相關的操作封裝在一起,類的例項是物件。
定義:
class 類名//類名一般採取首字母大寫的格式,成員訪問許可權的宣告出現順序無要求。
{
public:(public成員)
private:(private成員)
protected:(protected成員)
};訪問許可權(類的預設訪問許可權為私有)
public(公有訪問許可權):提供類介面的功能,成員和程式中均可訪問。
private(私有訪問許可權):被隱藏的資料,只有該類的成員或友元函式可以訪問,
派生類和外部函式不能訪問。
protected(保護):成員函式和派生類都可以訪問,外部類外部函式不能訪問。定義成員函式
①類體內定義
②類體外定義class Cdate { void set(int a); }; void Cdate::set(int a)//格式為 返回值型別 類名::函式名{函式體} {函式體}
呼叫成員函式
成員運算子呼叫:Cdate obj;
obj.set(1);
指標呼叫:Cdate *pobj;//pobj是指向obj的指標
pobj=&obj;
pobj->set(1);
引用呼叫:Cdate &a=obj;//a是物件obj的引用
a.set(1);重名問題
1、型別名隱藏了非型別名,如果要使用非型別名則在使用非型別名前加作用域運
算符::
int N;
class N{};
void fun()
{
class N a;//類N遮蔽了全域性變數
::N=3;
}
2、非型別名隱藏了型別名,使用型別名時,在前加class
class Num{};
void fun(int Num)
{
class Num a;//類名前加class
Num++;//形參自增
}類與結構體的區別
1、結構體預設訪問許可權為public,類預設private。
2、結構體通過特定語法格式初始化,類通過建構函式和解構函式初始化。