摘要:
多态性 (polymorphism) 是面向对象编程的基本特征之一。而在 C++ 中,多态性通过虚函数 (virtual function) 来实现。我们来看一段简单的代码:#include <iostream>using namespace std;class Base{int a;public:virtual void fun1() {cout<<"Base::fun1()"<<endl;}virtual void fun2() {cout<<"Base::fun2()"<<endl;}vi 阅读全文
摘要:
复制构造函数(直接初始化、复制初始化、赋值、临时对象)使用复制构造函数前应弄清的几个问题:何时调用复制构造函数,复制构造函数有何功能,为什么要定义自已的复制构造函数。1.复制构造函数:当用户没有定义自已的复制构造函数时系统将生成一个默认的复制构造函数。当按值传递对象时,就会创建一个形参的临时对象,然后调用复制构造函数把临时对象的值复制给实参。2.默认复制构造函数的功能:将一个对象的非静态成员的值逐个复制给另一个对象,注意复制的是成员的值,这种复制方式也称为浅复制。因为静态成员属于整个类,而不属于某个对象,所以调用复制构造函数时静态成员不会受到影响。3.何时生成临时对象: 情形1:按值传递对象. 阅读全文