关于类中的各种成员
1 class Student
2 {
3 public:
4 /*******************成員函數**************************/
5 Student();//默認構造函數,若定義了有參構造函數,默認構造函數會被覆蓋,需手動再定義,否則無法調用
6 ~Student();//析構函數
7 /*析構函數,在對象的生存期結束時自動執行
8 1、局部對象,在出作用域時執行其析構函數
9 2、靜態局部對象:在程序執行結束或exit時執行
10 3、全局對象:在程序執行結束或exit時執行
11 */
12
13 Student(int id,char* name,int s,Group g):sex(s),group(g);//成員初始化構造函數
14
15 Student(const Student& sOther);//拷貝構造函數
16
17 Student(int id);//轉換構造函數:將int轉換為Student
18
19 operator int();//類型轉換函數,將Student轉換為int
20
21 //若同時存在轉換構造函數和類型轉換函數,可能會出現二義性,如:
22
23 Student operator +(const Student& s1);//+運算符重載
24
25 Student operator =(const Student& s1);//賦值運算符重載
26
27 friend ostream operator <<(ostream& output,const Student& s1);//友元函數,重載流插入運算符<<
28
29 friend istream operator >>(istream& input,const Student& s1);//友元函數,重載流提取運算符>>
30
31 void Display() const;//常成員函數,不能修改類中數據成員
32
33 static void test();//靜態成員函數,無法訪問非靜態成員,其屬于整個類
34
35 inline void tt();//inline內置函數,系統自動將在類內部定義的成員函數申明為內置函數
36
37 /*******************成員函數**************************/
38 private:
39 /*******************數據成員**************************/
40 int sId;
41 char sName[20];
42 char *pName; //指針,需要在構造函數對其分配內存
43 static int age; //靜態數據成員,其屬于整個類,在類外初始化
44
45 /*********************常量成員和子對象********************************/
46 //只能通過成員初始化列表對其進行初始化
47 //定義對象執行順序:
48 //1、分配內存
49 //2、初始化成員列表
50 //3、執行構造函數
51 const int sex; //常量數據成員,定義時即初始化
52 Group group; //子對象
53 /*********************常量成員和子對象********************************/
54 /*******************數據成員**************************/
55 }
?
轉載于:https://www.cnblogs.com/jiese/archive/2013/06/07/3123356.html
總結
- 上一篇: [原]FreeSWITCH uuid_t
- 下一篇: 对比kCCPositionTypeFre