newで作成した配列を他のクラスのコンストラクタへ参照で渡したい

[戻る]
新米PG? 2005/08/27(土) 19:23:28
< 質問内容 >
変数を他のクラスのコンストラクタへ参照渡しを行いたいのですが、
動的配列を使用したときどのようにして渡せばいいのか
教えて頂けないでしょうか?

// これはOK
main()
{
  int a;
  CMyClass* b;
  
  // 処理を記述後、他のクラスへ値を渡す
  b = new CMyClass(&a);
}
class MyClass{
  int* c;
  MyClass(int* a)
  { c = a; }
};
// これはNG
main()
{
  int* a;
  CMyClass* b;
  
  // 処理を記述後、他のクラスへ値を渡す
  a = new int[4];
  b = new CMyClass(&(a[]));
}
class MyClass{
  int** c;
  MyClass(int* (a[]))
  { *c = a; }
};

< 開発環境 >
OS:Windows XP Pro SP2
言語:Visual C++ 6.0 SP6

επιστημη 2005/08/27(土) 19:31:09
class MyClass{
  int* c;
public:
  MyClass(int* a) : c(a) {}
};

main()
{
  int* a;
  CMyClass* b;
  
  // 処理を記述後、他のクラスへ値を渡す
  a = new int[4];
  b = new CMyClass(a);
  ...
}

…これでダメなんすか?

新米PG? 2005/08/27(土) 20:21:41
[[解決]]
επιστημηεπιστημη様

ご回答ありがとうございます。
無事、できました。
複数個の変数を渡すときは、下記のコードでできました。

class MyClass{
  int* d;
  int* e;
public:
  MyClass(int* a, int* b) : d(a), e(b)  
  {}
};

main()
{
  int* a;
  int* b;
  CMyClass* c;
  
  // 処理を記述後、他のクラスへ値を渡す
  a = new int[4];
  b = new int[4];
  c = new CMyClass(a, b);
  ...
}

大変ありがとうございました。

古いスレッドには追加発言できません。