关于类中的各种成员

 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/p/3123356.html