#includeusing namespace std;
class time
;class time2
private:
int hour;
};int main()
;//只適用於public的成員
time2 t2;
cout << t1.hour << endl;
//cout << t2.hour << endl;//私有成員不能這麼用了
t2.display();
return 0;
}
#includeusing namespace std;
class time2
time2(int h)//有】引數的建構函式(過載1)
time2(int h, int m) :hour(h), min(m) {}//引數初始化表
//有】引數的建構函式(過載2)
~time2()//只能有乙個析構函式,(建構函式可以多個
void display()
private:
int hour;
int min;
};int main()
建構函式包括:
預設建構函式
用於初始化的建構函式
用於賦值物件的建構函式
轉換型別的建構函式(詳見我的另一篇c++過載的博文
#includeusing namespace std;
class time
void set()
void display()
private:
int hour;
int min;
};int main()
#include using namespace std;
class date; // 對date類的提前引用宣告
class time
;class date // 宣告date類
;time::time(int h, int m, int s) // 定義time類的建構函式
void time::display(date &d) //定義display函式
date::date(int m, int d, int y) //類date的建構函式
int main()
格式:
類模板名 《實際的型別名》 物件名(引數);
如,compare cmp(4, 7);
#include using namespace std;
templateclass compare // 定義類模板,名為compare
numtype max()
numtype min()
{ return (xcmp1(3, 7); // 定義cmp1,操作兩個整數
cout << cmp1.max() << " is the maximum of two inteder numbers."
// 定義cmp2,操作兩個浮點數
建構函式 引數初始化列表
建立類物件時會自動呼叫建構函式 建構函式不需且不能手動呼叫 預設建構函式 在建立物件時不必給出實參的建構函式。包括無參建構函式和全部引數都有預設值的建構函式。如果使用者沒有定義建構函式,則系統會自動提供乙個預設建構函式,即上述的無參建構函式,函式體為空。當給類中的私有常量定義時,必須通過引數初始化列...
過載 初始化列表 友元
1 函式過載 overload 在同一作用域中,函式名相同,引數列表不同,則多個函式形成過載 引數列表不通 引數型別不同或者個數不同 cpoint float x 0,y 0 建構函式宣告 預設例項化物件在沒有賦值情況下x 0,y 0,因此在用此函式時,不能定義無參構造 函式,以免產生二義性 cpo...
建構函式和初始化表
1.無參構造 預設建構函式 無參並非嚴格的沒有引數的建構函式,而是不需要提供實際引數的建構函式,比如存在有預設引數 integer integer int a 10 也算是預設建構函式,可以無參呼叫。integer p1 new integer integer p2 new integer inte...