|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 爱因斯坦程序员 于 2018-10-20 10:30 编辑
笔记:
1.封装化(橡胶囊外壳里有一个个的小颗粒):
公开部分因素用于信息交换。
对象由成员函数(构成behavior,需要的时候调用)和成员变量(表现state)构成。
2.创建一个类:
2.1声明:访问说明符(public(到下个访问说明符之前的所有成员全部对外公开))---不写的话会报错说不允许访问。
关键词(class)+类名称,右大括号有分号
成员变量(可在声明里初始化)+成员函数
2.2实现:返回值类型+类名称+::+成员函数名{参数;}
3.构造函数:
3.1特点:
3.1.1初始化对象的数据成员。
3.1.2只实现一次。
3.1.3构造函数的名字要和类的名字一样。
3.1.4构造函数不用声明数据类型。
3.1.5没有写构造函数的时候系统会自动生成一个无参数构造函数。
3.2结束时可使用return;但是不能有返回值。
3.3委派构造函数:从C++11标准开始,初始化内容一样的两个构造函数写在一起。
C++11开始可以在生命中给变量赋值
4.析构函数:
4.1写法:
class <类名>{
public:
~<类名>();
};
<类名>::~<类名>(){//函数体};
4.2特点:
4.2.1对象结束生命周期时做收尾工作。
4.2.2没有返回值。
4.2.3一个类里只有一个并且没有参数。
4.2.4没有写析构函数的话,系统会自动生成一个构造函数。
4.2.5main()函数里要写return 0;,反序析构(最后一个构造最先析构)
5.访问修饰符:
5.1public:公开,在所有可以访问到这个类的地方都可以使用。
5.2private:不公开,是当前类中可以使用的,在这个类中的其他地方都不可以使用,没有明确给出访问修饰符的成员都默认为private(一个类的成员变量建议保护起来)。
5.3protected:保护,应用于子类与父类当中的(当父类中写了一个protected的变量,则在他的子类中也可以访问到这个变量)。
6.内联函数:
6.1目的:缩减代码行数,一次加速程序运行速度。
6.2写法:inline 函数{函数体}(该怎么写怎么写只是在前面加了一个inline)
6.3注意:递归,静态变量,循环体,switch(),goto等函数(内)不能使用
6.4写了inline的地方编译器不一定会inline(如果函数足够短那么编译器会把inline的函数的内容直接替换到调用的地方), 没写inline的地方编译器觉得能优化一下那么也会自动inline
7.结构体:
7.1写法:(声明)struct structname{private: ppublic: protected:};
(对象)structname st0bj;
7.2结构体和类:作用一样具有继承性,函数体内容一致(构造函数,成员函数,成员变量),类的默认访问说明符是private结构体的默认访问说明符是public。
7.3声明:虽然结构体和类很像,但是不是必要的时候最好使用类。 |
-
ex)3-1
-
ex)3-2
-
ex)3-3main()函数里创建对象的时候就是调用构造函数,根据生成的对象类型调用已经声明并实现的构造函数
-
ex)3-5
-
ex)3-6
-
3-7
-
3-10
|