newで作成した配列を他のクラスのコンストラクタへ参照で渡したい – プログラミング – Home

newで作成した配列を他のクラスのコン...
 
通知
すべてクリア

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


新米PG?
 新米PG?
(@新米PG?)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

< 質問内容 >
変数を他のクラスのコンストラクタへ参照渡しを行いたいのですが、
動的配列を使用したときどのようにして渡せばいいのか
教えて頂けないでしょうか?

// これは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


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 23年前
投稿: 1301
 

class MyClass{
int* c;
public:
MyClass(int* a) : c(a) {}
};

main()
{
int* a;
CMyClass* b;

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

…これでダメなんすか?


返信引用
新米PG?
 新米PG?
(@新米PG?)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

επιστημηεπιστημη様

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

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);
...
}

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました