0

私は次のクラスを持っています。

class CA {
...
};

class CB: public vector<CA> {
...
};

CB のコピー コンストラクターはどのように実装すればよいですか? つまり、

CB(CB& cb).

cb のベクトルの内容をコピーするにはどうすればよいですか?

4

1 に答える 1

1

からの公開継承の問題を無視してstd::vector、派生型のコピー コンストラクターが本当に必要な場合 (たとえば、動的に割り当てられたリソースを管理している場合) は、この例のように、コンストラクターの初期化リストを使用できますFoostd::vector継承階層でのあなたの場所:

#include <iostream>

struct Foo
{
  Foo() {}
  Foo(const Foo&) { std::cout << "Copy Foo\n";}
};

struct Bar : public Foo
{
  Bar() {}
  Bar(const Bar& b) : Foo(b) {}
};

int main()
{
  Bar b1;
  Bar b2(b1);
}
于 2013-02-26T10:56:28.217 に答える