摘要: 参考:黄邦勇帅1.操作符重载函数作为类的成员和友元或者独立于类的区别: 当操作符重载函数作为类的成员函数时,操作符重载函数的参数会比作为友元或者独立于类的操作符重载函数少一个参数,因为操作符重载类成员函数把调用该函数的第一个类的对象作为函数的第一个参数,也就是隐含的 this 指针指向调用该函数的... 阅读全文
posted @ 2015-09-06 17:08 匡子语 阅读(218) 评论(0) 推荐(0)
摘要: 来自:黄邦勇帅1.注意不能把成员变量声明为虚有的,也就是说 virtual 关见字不能用在成员变量前面。2.一般应使用基类指针来调用虚函数,如果用点运算符来调用虚函数就失去了它的意义.3.重定义虚函数时不需再使用virtual 关见字,当然也可以继续标明 virtual 关见字4.虚函数的类被称为多... 阅读全文
posted @ 2015-09-06 15:27 匡子语 阅读(333) 评论(0) 推荐(0)
摘要: 1. 多重继承时的二义性 当使用多重继承时,如果多个父类都定义了相同名字的变量,则会出现二义性。解决方法:使用 :: 声明作用域#include using namespace std;class A{public: int x; int y; A() { c... 阅读全文
posted @ 2015-09-06 14:41 匡子语 阅读(924) 评论(0) 推荐(0)
摘要: 1. 顺序 先调用基类的构造函数,再调用派生类构造函数。析构顺序相反。2. 构造函数 派生类 不用初始化列表调用基类构造函数->调用基类的默认构造函数 派生类 使用初始化列表调用基类带参构造函数->调用基类相关的带参构造函数 若派生类有多个构造函数版本,其中任意一个基类的构造函数不匹配,都会... 阅读全文
posted @ 2015-09-06 13:53 匡子语 阅读(688) 评论(0) 推荐(0)
摘要: 没有访问控制符时默认为私有继承。当基类中的某个函数有若干个重载版本,继承类中也实现了该函数的某个重载版本时,参数完全相同的基类版本被覆盖,基类的其他版本被隐藏。1.若要在继承类中使用基类的被覆盖方法,用:: 如B继承A, B b; b.A::fun(); 调用的就是被覆盖的基类方法2.若要在继承... 阅读全文
posted @ 2015-09-06 11:02 匡子语 阅读(422) 评论(0) 推荐(0)