子类是无法直接继承基类的构造函数的
子类调用基类构造函数的方法是将积累的构造函数放在子类构造函数的初值列,不能放在子类构造函数的函数体中,这样会出错
原因是当父类的构造函数被放在子类的构造函数的函数体中时,它被编译器理解为了一般的函数调用
如图:第二次调用构造函数传递的this指针是一个栈变量,只在当前函数有效
这个例子还反映了另外两个问题:
注意:运算符重载与函数重载可以同时发生
int operator+(class A& a, class A& b);
int operator+(class A& a, int b);
以上两个操作符重载可以同时发生,操作符重载其实就是在定义函数,函数的名称就叫operator+(指以上例子中)
在一个函数前加上virtual关键字,这个函数就变成了虚函数,虚函数可以被子类重写