1.類的聲明
關鍵詞class
私有private 公有public 保護protected
用UML(統一建模規劃語句)創建一個類
3.對象的定義
int a;
注:對象本身存在不佔內存,對象的成員才佔內存
4.構造函數
特殊性:a
A.構造函數總是存在
B.定義一個對象時該類的構造函數會自動調用,爲其分配內存完成其他操作
D.無返回值,構造函數名和類名一致,可以有缺省值,可以重載
5.構造函數的初始化列表
Rational(int a,int b):_a(a),_b(b)
{}
6.複製構造函數
class A()
{
public:
A()
{}
A(A &a) //複製構造函數
{}
}
7.析構函數
A.釋放對象所佔內存(自動完成)
B.其他操作
C.形式:~構造函數名(){};
class A()
{
public:
A()
{}
A(A &a) //複製構造函數
{}
~A() //析構函數
{}
}
7.構造函數和析構函數的顯示調用
8.this指針
指向當前對象
靜態成員
1.靜態數據成員初始化
2.靜態成員函數只能訪問靜態數據成員,而普通成員函數既可以訪問動態數據成員,也可以訪問靜態數據成員
成員對象
常成員和常對象
const
友元函數
class A
{
public:
friend void fun()
{}
}
void fun()
{}
類的友元函數是定義在類外部,但有權訪問類的所有私有(private)成員和保護(protected)成員。儘管友元函數的原型有在類的定義中出現過,但是友元函數並不是成員函數。