摘要: 1.多态与虚函数 多态性是指同一个操作作用于不同的对象就会产生不同的响应。多态性分为静态多态性和动态多态性,其中函数重载和运算符重载属于静态多态性,虚函数属于动态多态性。 一旦一个函数被声明为虚函数,无论经历多少次派生,都会保持虚函数的特性,即使派生类中没有使用virtual关键字,其仍然是虚函数。 阅读全文
posted @ 2016-09-23 22:27 ZYVV 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1.构造函数和析构函数的执行顺序 下图是多虚基类的情况,其中A和B类是类C和类D的虚基类,类E是类C和类D的派生类。 各类定义可以简写如下: 各类构造函数简写如下: 在创建E类对象时,按从左到右深度优先遍历算法来调用各个构造函数:A --> B --> C --> D --> E 析构函数的执行顺序 阅读全文
posted @ 2016-09-23 17:52 ZYVV 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 由其他类型转换到自定义类型 由其他类型(如int,double)向自定义类的转换是由构造函数来实现,只有当类的定义和实现中提供了合适的构造函数,转换才能通过。 输出结果如下: 代码中第57行,构造函数“point(authorPoint aP)”被调用,先生成一个临时point类对象,再调用赋值运算 阅读全文
posted @ 2016-09-23 13:27 ZYVV 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 1.运算符重载规则 在c++中,操作符和函数时等价的,统一的。因此,运算符也可以重载,虽然系统已经预定了一些操作符的功能,但毕竟应用有所限制,不能灵活得解决各种问题,而运算符重载可以赋予已有的运算符多重含义。通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,使得c++具有很强的可拓展性。 阅读全文
posted @ 2016-09-23 12:47 ZYVV 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 友元函数: 如果在某个类的定义中用friend声明了一个外部函数,这个外部函数称为类的友元函数。 友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们没有区别,都说明是该类的友元函数;一个函数可以使多个类的友元函数,只需在各个类中分别声明;友元函数的调用和一般函数的调用方式和原理一致。 对于 阅读全文
posted @ 2016-09-23 10:29 ZYVV 阅读(212) 评论(0) 推荐(0) 编辑