C++でクラスのオブジェクトを配列として宣言し、それを別の関数に渡す方法が分かりません。
C++
1sample.h 2 3class sample{ 4 public: 5 sample(void); 6 ~sample(void); 7 int test; 8 void samplefunc(void); 9} *smpl; 10
C++
1sample.cpp 2 3#include <iostream> 4#include "sample.h" 5 6using namespace std; 7 8void sample::samplefunc(void){ 9 //ここにオブジェクトのメンバであるtestを表示させたい 10} 11 12int main(void){ 13 smpl = new sample[3]; 14 for (int i = 0; i < 3; i++){ 15 smpl[i].test = i + 1; 16 } 17 18 (*smple).samplefunc(); 19 //該当のわからない場所 20 //smpleをまとめてsamplefuncに渡してsamplefunc内でcout << smpl[i] << endl;というようにしたい 21 //しかし、samplefunc内で与えられたオブジェクトの配列を要素ごとに参照する方法が分からない。 22 return 0; 23}
詳しい相談内容はソース内に記述しておりますが、main関数で要素を更新したsampleクラスのオブジェクトsmplを要素数3の配列として、各要素ののメンバをsamplefunc内で参照したい、ということです。改善方法として、main関数内でfor文を構成し、要素ごとにsamplefuncに渡せばいいというのがありますが、プログラムの構成上それがやりたくないので、それ以外の方法で解決策があれば教えていただきたいです。
回答3件
あなたの回答
tips
プレビュー