摘要: 1.子类对象的构造 === a.子类中可以定义构造函数 b.子类构造函数 必须对继承而来的成员进行初始化 1).直接通过初始化列表或者赋值进行初始化 2).调用父类构造函数进行初始化 1).直接通过初始化列表或者赋值进行初始化 不可行,子类无法访问父类中的private成员。所以对这部分成员无法初始 阅读全文
posted @ 2019-11-28 15:25 人民广场的二道贩子 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1.private public protected class类中存在private public两者类型 private不能被外界访问,包括子类。而子类继承父类,理论上可以访问父类的所有属性。 此时protected的引入使此部分成员只能被自身和子类访问 2.不同的继承方式 c++中支持三种不同 阅读全文
posted @ 2019-11-26 14:37 人民广场的二道贩子 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1.问题:子类能访问父类中的私有成员吗? === 子类在父类的外界,所以子类不能直接访问父类的私有成员。但是子类的定义中说子类拥有父类的一切属性和行为,怎么使子类访问父类的私有成员呢?这里就涉及到protected的使用了。 2.继承中的访问级别 === a.面向对象中的访问级别不只是public和 阅读全文
posted @ 2019-11-26 14:02 人民广场的二道贩子 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1.组合关系 === 组合关系的特点 a.将其它类的对象作为当前类的成员使用 b.当前类的对象与成员对象的生命周期相同 c.成员对象在用法上与普通对象完全一致 eg: include include using namespace std; class Memory { public: Memory 阅读全文
posted @ 2019-11-26 13:21 人民广场的二道贩子 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1.类型转换函数(类类型 普通类型) === a.类型转换函数用于将类对象转换为其他类型 语法规则:(重载) operator Type () { Type ret; //... return ret; } b.类型转换函数 1).与转换构造函数具有同等的地位 2).是的便与其有能力将对象转化为其他 阅读全文
posted @ 2019-11-26 11:08 人民广场的二道贩子 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1.再论类型转换 === a.标准数据类型之间会进行隐士类型安全转换 b.转换规则 问题1: eg: include include using namespace std; int main() { unsigned int ui = 1000; int i = 2000; cout == 100 阅读全文
posted @ 2019-11-23 16:19 人民广场的二道贩子 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 前置操作符: ++i; i; 后置操作符: i++; i ; 1.i++和++i和区别? === 下面的代码有没有区别?为什么? i++; ++i; //注:与j = i++; 有区别 在工程中,独立的这两行语句是完全一样的没有差异(从汇编代码去看)。原因是,编译器的优化,这样做更高效。 对于基础类 阅读全文
posted @ 2019-11-23 11:14 人民广场的二道贩子 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1.逗号操作符 === a.逗号表达式用于将多个子表达式连接为一个表达式 b.逗号表达式的值为最后一个子表达式的值 c.逗号表达式中的前N 1个子表达式没有返回值 d.逗号表达式按照从左到右的顺序计算每个表达式的值 eg: include include using namespace std; v 阅读全文
posted @ 2019-11-23 09:55 人民广场的二道贩子 阅读(149) 评论(0) 推荐(0) 编辑
摘要: eg: include include using namespace std; class Test { int mValue; public: Test (int v) { mValue = v; } int value() const //因为重载的逻辑操作符的参数是const对象。const 阅读全文
posted @ 2019-11-21 10:35 人民广场的二道贩子 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1.智能指针(即一个功能完善的类) === a.指针生命周期结束时主动释放堆空间 b.一片堆空间最多只能由一个指针标识 c.杜绝指针运算和指针比较 解决方案: a.重载指针特征操作符(" "和" ") b.只能通过成员对象重载(=, [], ()) c.重载函数不能使用参数 d.只能定义一个重载函数 阅读全文
posted @ 2019-11-20 17:02 人民广场的二道贩子 阅读(165) 评论(0) 推荐(0) 编辑