摘要: 哪些操作符不能被重载 . ?: :: .* sizeof 由于一些历史原因,?:不能被重载。若重载expr1 ? expr2 : expr3,不能确保expr2或expr3中只有一个被执行。 sizeof是内嵌操作符,某些操作符依赖它的实现,故不允许重载。 域描述符::两边不是对象或表达式,而是供编 阅读全文
posted @ 2016-03-01 11:39 衍行 阅读(210) 评论(0) 推荐(0)
摘要: 赋值操作符的关键在于自赋值机制的处理 重载赋值操作符时需要考虑自赋值问题,否则可能会导致严重错误。 Fred& operator= (const Fred& f) { // Bad code: Doesn't handle self-assignment! delete p_; // Line #1 阅读全文
posted @ 2016-03-01 11:36 衍行 阅读(273) 评论(0) 推荐(0)
摘要: 类是什么 Type由一组状态和能在多种状态间变换的操作组成; Class提供一组操作和一组数据用于描述type对象的抽象概念。 类接口设计原则 『simplified view』:有意识地隐藏不必要的细节,减少用户出错的几率;『vocabulary of usesrs』 :减少用户学习曲线。 封装是 阅读全文
posted @ 2016-03-01 11:28 衍行 阅读(122) 评论(0) 推荐(0)
摘要: 析构顺序 与构造顺序相反:先构造、先析构。 是否能重载析构函数? 不能。 因为析构函数名称相同且没有参数。 是否能显示调用析构函数? 一般不行。 因为在代码运行至块结束,即}位置处,会自动调用该代码块内部局部对象的析构函数,若已经显示调用会导致重复析构问题。 特殊情况是使用placement new 阅读全文
posted @ 2016-02-29 09:30 衍行 阅读(312) 评论(0) 推荐(0)
摘要: 什么是构造函数 Constructors build objects from dust. They turn a pile of arbitrary bits into a living object. List x, List x()与List x(Bar()) List x,声明一个类型为Li 阅读全文
posted @ 2016-02-26 11:11 衍行 阅读(458) 评论(0) 推荐(0)
摘要: part2针对part1中未深入的部分进行了介绍,部分内容已经涵盖在C++ Programing Language中阅读的章节中。 将以下主题单独提出讲解: Conversion Function no-explicit-one-argument-ctor/explicit-one-argument 阅读全文
posted @ 2016-02-05 09:40 衍行 阅读(250) 评论(0) 推荐(0)
摘要: 课程内容C++发展简述头文件(guard declaration,内容,结构,访问控制,友元)构造函数(initial list, default para)参数与返回值传递(by value & by reference,const)操作符重载(成员函数与非成员函数)STL中Complex类举例解... 阅读全文
posted @ 2016-01-14 09:28 衍行 阅读(149) 评论(0) 推荐(0)