复制基类的构造函数

时间:2015-10-10 16:34:45

标签: c++ copy-constructor derived-class

我知道很多关于拷贝构造函数的stackoverflow的例子。但是,我没有看到我的具体问题。

假设我有一个基类Base,其定义如下:

class Base
{
public:
    Base(const Base &other);
    ...
}

并且我有一个派生类Derived,其定义如下:

class Derived
{
public:
    Derived(const Base &other); //construct from base class
    Derived(const Derived &other); //construct from derived class (copy constructor)
}

复制构造函数可以像这样定义吗?

Derived::Derived(const Derived &other) : Base(other) {...}

或者这不是C ++的好风格吗?如果没有,我如何使用更好的方法获得相同的结果?我的编译器(MSVC)似乎没有抱怨它。

1 个答案:

答案 0 :(得分:1)

实施

String.Join<>

你必须创建基础构造函数:

Derived::Derived(const Derived &other) : Base(other) {...}