摘要: 纯虚函数 纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本。 抽象类 带有纯虚函数的类称为抽象类 注意: 抽象类只能作为基类来使用。 不能定义抽象类的对象。 阅读全文
posted @ 2017-12-26 14:11 LeoSirius 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1虚函数用virtual关键字说明的函数虚函数是实现运行时多态性基础,C++中的虚函数是动态绑定的函数虚函数必须是非静态的成员函数,虚函数经过派生之后,就可以实现运行过程中的多态。一般成员函数可以是虚函数构造函数不能是虚函数,析构函数可以是虚函数 一般虚函数成员: 虚函数声明只能出现在类定义中的函数 阅读全文
posted @ 2017-12-26 13:56 LeoSirius 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1运算符重载的规则C++ 几乎可以重载全部的运算符,而且只能够重载C++中已经有的。不能重载的运算符:“.”、“.*”、“::”、“?:”重载之后运算符的优先级和结合性都不会改变。 重载的两种形式: 1 重载为类的非静态成员函数; 2 重载为非成员函数。 2双目运算符重载为成员函数 函数类型 ope 阅读全文
posted @ 2017-12-20 20:20 LeoSirius 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1访问从基类继承的成员当派生类与基类中有相同成员时: 若未特别限定,则通过派生类对象使用的是派生类中的同名成员。 如要通过派生类对象访问基类中被隐藏的同名成员,应使用基类名和作用域操作符(::)来限定。 Derived类对象d的存储结构示意图1 2虚基类需要解决的问题 当派生类从多个基类派生,而这些 阅读全文
posted @ 2017-12-20 16:31 LeoSirius 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1派生类的构造函数 默认情况下:基类的构造函数不被继承,派生类需要定义自己的构造函数。C++11 规定:可用using语句继承基类构造函数。但是只能初始化从基类继承的成员。这时派生类新增成员可以通过类内初始值进行初始化。 建议:如果派生类有自己新增的成员,且需要通过构造函数初始化,则派生类要自定义构 阅读全文
posted @ 2017-12-19 14:05 LeoSirius 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 公有派生类对象可以被当作基类的对象使用,反之则不可。 派生类的对象可以隐含转换为基类对象; 派生类的对象可以初始化基类的引用; 派生类的指针可以隐含转换为基类的指针。 通过基类对象名、指针只能使用从基类继承的成员。 阅读全文
posted @ 2017-12-15 20:33 LeoSirius 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 7.1继承的基本概念和语法 继承:保持已有类的特性而构造新类的过程称为继承派生:在已有类的基础上新增自己的特性而产生新类的过程称为派生。 继承与派生的目的: 继承的目的:实现设计与代码的重用。 派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。 派生类的构成: 阅读全文
posted @ 2017-12-15 19:55 LeoSirius 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 1 C风格字符串字符串常量各字符连续、顺序存放,每个字符占一个字节,以‘\0’ 结尾,相当于一个隐含创建的字符常量数组首地址可以赋给char常量指针: 例: 2 string类string实际上是对字符数组操作的封装 string类常用的构造函数: 输入整行字符串 getline可以输入整行字符串( 阅读全文
posted @ 2017-12-15 13:58 LeoSirius 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1 深层复制与浅层复制浅层复制:实现对象间数据元素的一一对应复制。深层复制:当被复制的对象数据成员是指针类型时,不是复制该指针成员本身,而是将指针所指对象进行复制。 2 移动构造C++11 标准中提供了一种新的构造方法——移动构造。C++11 引入移动语义: 源对象资源的控制权全部交给目标对象 当临 阅读全文
posted @ 2017-12-13 22:59 LeoSirius 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 6.10 智能指针C++11 提供智能指针的数据类型,对垃圾回收技术提供了一些支持,实现一定程度的内存管理 unique_ptr:不允许多个指针共享资源,可以用标准库中的move函数转移指针shared_ptr:多个指针共享资源weak_ptr:可复制shared_ptr,但其构造或者释放对资源不产 阅读全文
posted @ 2017-12-13 20:32 LeoSirius 阅读(175) 评论(0) 推荐(0) 编辑