摘要:
重载运算符 [TOC] 四、重载运算符 : : : 1.一元运算符重载 Ⅰ (负号)的重载(取反啊) 友元函数重载 成员函数重载 Ⅱ ++符号的重载 前置++符号重载 后置++符号重载 2.二元运算符重载 Ⅰ +(加号)的重载 友元函数重载 成员函数重载 Ⅱ using 阅读全文
posted @ 2016-11-18 14:22
青_阳
阅读(636)
评论(0)
推荐(0)
摘要:
模板 [TOC] 三、模板 使用模板的目的就是能够让程序员编写与类型无关的代码。 `typename class` 1.函数模板 2.类模板 特别提醒:模板代码不能分离编译 即声明和定义都必须写在.hpp文件中。 3.标准模板库 | vector | 常用函数 | | | | | empty() | 阅读全文
posted @ 2016-11-18 14:20
青_阳
阅读(220)
评论(0)
推荐(0)
摘要:
静态 [TOC] 二、静态 “静态”使用场景:用作全局的。 1.静态数据成员 依赖于类,并不依赖于对象。 所开辟的内存并不在对象中。 对象声明多个,但静态数据成员只会有一份。 普通数据成员依赖于对象,对象析构则不存在。 C++ // Tank.cpp class Tank { public: T 阅读全文
posted @ 2016-11-18 14:18
青_阳
阅读(104)
评论(0)
推荐(0)
摘要:
友元 [TOC] 一、友元 无视private、protected限定符。 破坏了类的封装性。 如无需要,不推荐使用。 1.友元函数 (1)友元全局函数 (2)友元成员函数 C++ // Circle.cpp class Coordinate; // 前向声明,声明有这么一个类,告诉编译器先 阅读全文
posted @ 2016-11-18 14:17
青_阳
阅读(226)
评论(2)
推荐(0)
摘要:
5 1异常处理 [TOC] 1.异常:程序运行期出现的错误 2.异常处理:对有可能发生异常的地方做出预见性的安排 3.关键字 (1)try...catch...catch... (2)throw 4.基本思想:主逻辑与异常处理分离 5.常见的异常 (1)数组下标越界 (2)除数为零 (3)内 阅读全文
posted @ 2016-11-18 14:12
青_阳
阅读(187)
评论(0)
推荐(0)
摘要:
4 1运行时类型识别RTTI [TOC] 1.RTTI 使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。 2.操作符typeid 它的表达式有下图两种形式: | NAME 阅读全文
posted @ 2016-11-18 14:11
青_阳
阅读(164)
评论(0)
推荐(1)
摘要:
3 5接口类 [TOC] 一、接口类 1.接口类的定义 成员函数都是纯虚函数。 2.接口类更多的是表达一种能力或协议 阅读全文
posted @ 2016-11-18 14:10
青_阳
阅读(127)
评论(0)
推荐(0)
摘要:
3 1纯虚函数抽象类 [TOC] 一、纯虚函数 1.纯虚函数的定义 2.纯虚函数的实现原理 二、抽象类 1.抽象类 2.抽象类的用法 (1)抽象类无法实例化对象。(无论在堆中还是栈中。) (2)因为纯虚函数无法被调用。 (3)当类的用途很明确时,才在派生类中具体去实现 阅读全文
posted @ 2016-11-18 14:09
青_阳
阅读(142)
评论(0)
推荐(0)
摘要:
2 7虚函数与虚析构函数实现原理 [TOC] 1.虚函数的实现原理 (1)引入概念: 函数指针 。 (2)多态的实现原理 vftable_ptr,4字节,指向一张虚函数表的首地址。 表中存放各虚函数入口地址,此地址指向虚函数。 派生类中如果定义了同名虚函数,派生类中的虚函数表 阅读全文
posted @ 2016-11-18 14:07
青_阳
阅读(227)
评论(0)
推荐(0)
摘要:
2 4虚析构函数 [TOC] 1.为什么引进虚析构函数? 2.virtual在函数中的使用限制 (1)不能用来修饰普通函数(全局函数) (2)不能用来修饰静态成员函数 (3)不能用来修饰内联函数 (4)不能用来修饰构造函数 `构造函数不能成为虚函数。` 阅读全文
posted @ 2016-11-18 14:05
青_阳
阅读(158)
评论(0)
推荐(0)
摘要:
1 1多态的概述与虚函数 [TOC] 1.什么是多态? 2.多态的分类 (1)静态多态 又叫 早绑定 。 (2)动态多态 又叫 晚绑定 。 阅读全文
posted @ 2016-11-18 12:35
青_阳
阅读(174)
评论(0)
推荐(0)
摘要:
6 1虚继承 1.为什么引入虚继承? 问题: A / \ / \ B Is a C \ / \ / D 解决办法: 阅读全文
posted @ 2016-11-18 11:30
青_阳
阅读(100)
评论(0)
推荐(0)
摘要:
5 1多继承和多重继承 1.多重继承 2.多继承 阅读全文
posted @ 2016-11-18 11:27
青_阳
阅读(123)
评论(0)
推荐(0)
摘要:
4 4is_a 0.派生类Soldier继承自基类Person 1.派生类可以给基类赋值: 2.基类指针可以指向派生类(派生类可以取地址给基类): 3.把基类的指针或者是基类的对象或者是基类的引用作为函数的参数来使它可以接收所传入的子类的对象,并且也可以传入基类的对象 4.基类只能接收和访问派生类中 阅读全文
posted @ 2016-11-18 11:27
青_阳
阅读(230)
评论(0)
推荐(0)
摘要:
4 1隐藏 1.隐藏的触发条件: `成员同名 隐藏` 2.如何访问被隐藏的成员 阅读全文
posted @ 2016-11-18 11:20
青_阳
阅读(118)
评论(0)
推荐(0)
摘要:
2 1为什么继承 1.Worker继承自Person,新增方法work()和成员m_iSalary: 2.继承方式 (1)公有继承 Tips: Table: | 基类成员访问属性 | 继承方式 | 派生类成员访问属性 | | : : | : : | : : | | private成员 | pub 阅读全文
posted @ 2016-11-18 11:19
青_阳
阅读(131)
评论(0)
推荐(0)
摘要:
5 4常指针和常引用 1.常指针与常引用的用法: 2.const修饰紧跟其后的词: 3.注意 阅读全文
posted @ 2016-11-18 11:17
青_阳
阅读(165)
评论(0)
推荐(0)
摘要:
5 1常对象成员和常成员函数 1.常对象成员 2.常成员函数 常成员函数的定义可以理解为: 常成员函数里的const实质上是修饰隐藏的参数this对象指针。 3.使用了const关键字,一旦初始化就不能再修改,常对象成员用初始化列表初始化 4.互为重载的普通成员函数和常成员函数 如何调用void c 阅读全文
posted @ 2016-11-18 11:15
青_阳
阅读(283)
评论(0)
推荐(0)
摘要:
4 6this指针 Array printInfo();——要求返回值类型是一个对象 阅读全文
posted @ 2016-11-18 11:11
青_阳
阅读(96)
评论(0)
推荐(0)
摘要:
4 4对象成员指针 `如果类中拥有对象成员那么此对象实例化的时候对象的内存中会直接持有这两个对象成员的,而不是持有对象成员的指针.` 阅读全文
posted @ 2016-11-18 11:10
青_阳
阅读(113)
评论(0)
推荐(0)
摘要:
4 1对象指针 阅读全文
posted @ 2016-11-18 11:09
青_阳
阅读(102)
评论(0)
推荐(0)
摘要:
3 1深拷贝与浅拷贝 1.浅拷贝 2.我们所想要的是这样子的: `使用数组,将每个元素都一一赋值。` 阅读全文
posted @ 2016-11-18 11:08
青_阳
阅读(118)
评论(0)
推荐(0)
摘要:
2 5对象成员 1.一个对象作为另一个对象的数据成员,称为“对象成员” 2.对象成员的创建次序: 3.对象成员的销毁次序: 4.构造函数配备初始化列表: 阅读全文
posted @ 2016-11-18 11:06
青_阳
阅读(121)
评论(0)
推荐(0)
摘要:
2 1对象数组 1.实例化一个对象数组: 2.实例化一个对象数组示意图: 阅读全文
posted @ 2016-11-18 11:05
青_阳
阅读(110)
评论(0)
推荐(0)
摘要:
7.1总结 1.类与对象 2.数据成员 3.成员函数1 4.成员函数2 5.对象实例化 6.其他 (1)成员函数中如何辨识数据成员 (2)多个对象如何共享数据 (3)对象成员初始化 阅读全文
posted @ 2016-11-18 11:03
青_阳
阅读(104)
评论(0)
推荐(0)
摘要:
类内定义与内联函数 1.类内定义 2.类外定义 `在hpp文件中,在类内声明成员方法,而在cpp文件中定义这些成员方法,方法名之前需加“类名::”,并且在cpp文件中需include对应的hpp文件` 阅读全文
posted @ 2016-11-18 11:01
青_阳
阅读(1190)
评论(0)
推荐(0)
摘要:
析构函数 1.定义格式: 2.注意: 3.析构函数存在的必要性 4.对象的生命历程 阅读全文
posted @ 2016-11-18 10:58
青_阳
阅读(121)
评论(0)
推荐(0)
摘要:
拷贝构造函数 1.拷贝构造函数的定义 2.总结 (1) 如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构造函数 当采用直接初始化或复制初始化实例化对象时系统自动调用拷贝构造函数 (2) 拷贝构造函数的参数是确定的,不能重载 阅读全文
posted @ 2016-11-18 10:57
青_阳
阅读(122)
评论(0)
推荐(0)
摘要:
构造函数初始化列表 1.默认构造函数 在实例化对象时不用传参的函数,叫做默认构造函数。 2.初始化列表 只能用小括号赋值。 (1)初始化列表先于构造函数执行; (2)初始化列表只能用于构造函数; (3)初始化列表可以同时初始化多个数据成员。 3.初始化列表存在的必要性 阅读全文
posted @ 2016-11-18 10:53
青_阳
阅读(146)
评论(0)
推荐(0)
摘要:
6 1构造函数 1.内存分区 2.对象结构 3.对象初始化 ` (2)根据条件进行初始化动作` 阅读全文
posted @ 2016-11-18 10:51
青_阳
阅读(141)
评论(0)
推荐(0)
摘要:
4 1数据的封装 1.如何进行数据封装 2.封装的好处 3.代码演示 c++ include include using namespace std; / 定义类:Student 数据成员:名字、性别、学分、学习 / class Student { public: void 阅读全文
posted @ 2016-11-18 10:19
青_阳
阅读(128)
评论(0)
推荐(0)
摘要:
C++远征 [TOC] 一、函数参数默认值 1.函数参数默认值的声明 2.函数参数默认值的定义 3.函数参数默认值赋值 二、函数重载 1.函数重载的概念 2.函数重载的原理 三、内联函数 1.内联函数的概念 2.内联函数的好处 内联函数能节省调用函数的开销。 那为什么不是所有 阅读全文
posted @ 2016-11-18 09:49
青_阳
阅读(297)
评论(0)
推荐(0)

浙公网安备 33010602011771号