#include
using
namespace std;
// malloc 和 new區別
// new和delete是乙個運算子 malloc和free是乙個庫函式
// malloc 返回值是 void * new返回的是new出來的物件的指標
// malloc 需要判斷是否開闢成功 而new內部做好了操作(內部會malloc資料在堆區 判斷記憶體是否分配成功 呼叫建構函式)
// malloc 不會呼叫建構函式 而new呼叫建構函式
// malloc 對應的是釋放是 free new對應的是釋放是 delete
// 注意事項
class
person
person
(int age)
person
(const person &p)
~person()
int m_age;};
void
test01()
void
test02()
// 利用new建立陣列 在堆區建立陣列 類中必須存在預設建構函式,否則無法建立
// 如果陣列是在棧上開闢的,那麼可以指定利用哪個建構函式來初始化物件
// 如果是陣列 釋放的時候要在 delete後加
void
test03()
;delete
p;}int
main()
#include
using
namespace std;
class
person
;int person::b =10;
void
test01()
intmain()
#include
using
namespace std;
class
person
static
int d;
private
:static
int c;};
int person::b =10;
void
test01()
void
test02()
intmain()
C 學習 類和物件 四)
運算子過載函式 為了增強程式的可讀性,c 支援運算子過載。運算子過載特徵 1.operator 合法的運算子構成函式名 過載 運算子的函式名 operator 2.過載運算子以後,不能改變運算子的優先順序 結合性 運算元個數。5個c 不能過載的運算子 sizeof 賦值運算子過載 拷貝建構函式是建立...
C 學習 類和物件
1 類的訪問控制有哪些?公有成員 以關鍵字public指明。私有成員 以關鍵字private指明。保護成員 以關鍵字protected指明。2 拷貝建構函式的作用是什麼?用乙個已經存在的物件初始化本類的新物件。3 友元函式和友元類的作用是什麼?友元提供了不同類或物件的成員函式之間 類的成員函式與一般...
C 學習 類和物件
10.2.1 建構函式 建構函式就是建立乙個物件,完成對其的初始化工作,賦值操作就在初始化中完成。class cperson int main cperson即為建構函式 10.2.2 複製建構函式 複製建構函式就是用乙個已經初始化的物件生成乙個一模一樣的物件。class cperson cpers...