2017-09-29 24 views
0

メインにはベクトルが含まれています。これはFoo fooオブジェクトを作成します。 fooのコンストラクタは、mainのベクトルに1を加えます。これはどうすればできますか?私はこのまわりで私の頭をラップするように見えるカントオブジェクトを作成したオブジェクトへの別のオブジェクトからのベクトルへの追加

foo.cpp

foo::foo() 
{ 
    mainvector.push_back(1); 
} 

main.cppに

int main() 
{ 
    std::vector<int> mainvector; 
    Foo foo; 

    return 0; 
} 

+0

あなたはこの仕事を得ることができる方法を求めているか、なぜそれが動作します?これはfoo.hのは、どのように見えるかであると仮定すると、

これは動作させることができますが、ひどいスタイルです。 –

+0

私が不明な場合は申し訳ありません。私は、オブジェクトを作成し、そのオブジェクトにメインに宣言されているベクターに1を加えたいと思っています。 – Prezioso

答えて

2

これは可能です。

class Foo { 
    public: 
     Foo(std::vector<int> & vec) { 
      vec.push_back(<something>); 
     } 
} 

これはあなたのメインの可能性:

std::vector<int> mainvec; 
Foo foo(mainvec); 
関連する問題