构造函数不能是虚函数。但有时候确实需要能传递一个指向基类对象的指针,并且有已创建的派生类对象的拷贝。通常在类内部创建一个clone()方法,并设置为虚函数。
输出结果:
(1)dog (2)cat (3)mammal: 3
mammal
constructor...
woof!
mammal copy
dog copy
meow!
mammal copy constructor...
cat copy
mammal speak!
构造函数不能是虚函数。但有时候确实需要能传递一个指向基类对象的指针,并且有已创建的派生类对象的拷贝。通常在类内部创建一个clone()方法,并设置为虚函数。
输出结果:
(1)dog (2)cat (3)mammal: 3
mammal
constructor...
woof!
mammal copy
dog copy
meow!
mammal copy constructor...
cat copy
mammal speak!