1:拷贝构造函数 比如 A(A& a) 函数参数必须为引用的原因是如果是传值,参数的传递也是有拷贝的动作调用的就是拷贝构造函数。这样会发生调用死循环发生堆栈OVERFLOW。
其实也可以传递对象指针,这样传递参数拷贝的是地址不会发生循环调用。采用引用原因是传递引用效率比指针高不用拷贝。
2:当你不想让对象在堆栈上创建只能堆上同时保持能够被继承时,可以把析构函数设为保护的。
对于protected的函数,本类“内部”的其他函数和子类的“内部”的其他函数可以调用之。
而对于private的函数,只能被本类“内部”的其他函数调用。