私は次のクラスを持っています。
class CA {
...
};
class CB: public vector<CA> {
...
};
CB のコピー コンストラクターはどのように実装すればよいですか? つまり、
CB(CB& cb).
cb のベクトルの内容をコピーするにはどうすればよいですか?
私は次のクラスを持っています。
class CA {
...
};
class CB: public vector<CA> {
...
};
CB のコピー コンストラクターはどのように実装すればよいですか? つまり、
CB(CB& cb).
cb のベクトルの内容をコピーするにはどうすればよいですか?
からの公開継承の問題を無視してstd::vector
、派生型のコピー コンストラクターが本当に必要な場合 (たとえば、動的に割り当てられたリソースを管理している場合) は、この例のように、コンストラクターの初期化リストを使用できますFoo
。std::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);
}