通常、これは変数を他のクラスからコンストラクターに渡す方法です。
SampleA.cpp
#include SampleA.h
#include <iostream>
using namespace std;
SampleA::SampleA(string text)
{
setText(text);
}
string SampleA::getText() {
return text;
}
void SampleA::setText(string text) {
this->text = text;
}
void SampleA::displayText() {
string displayText;
displayText = getText();
cout << displayText << endl;
}
SampleA.h
#include <iostream>
#ifndef _testing_ SampleA_h
#define _testing_ SampleA_h
class SampleA {
private:
std::string text;
public :
SampleA()
{
text = "";
};//default constructor
SampleA(std::string);
std::string getText();
void setText(std::string text);
};
main.cpp
#include <iostream>
#include SampleA.h
using namespace std;
SampleA outputTextValue;
int main () {
string input;
cout << "Enter a text" << endl;
cin >> input;
//pass the value using SampleA class consturctor
SampleA storeText(input);
//output the text from displayText() method from SampleA class
outputTextValue.displayText();
}
2次元配列でも同じことができるかどうか疑問に思っていました。
または、2次元配列の値を他のクラスからコンストラクターに渡したい場合は、どのアプローチを使用すればよいですか? (※以下のコードは大まかな例ですので間違っています)
SampleA.cpp
#include SampleA.h
#include <iostream>
using namespace std;
SampleA::SampleA(int 2Darray[][2])
{
setText(2Darray[][2]);
}
string SampleA::get2DArray() {
return 2Darray[][2];
}
void SampleA::set2DArray(string int 2Darray[][2]) {
this->2Darray[][2] = 2Darray[][2];
}
void SampleA::displayNumber() {
cout << get2DArray(); << endl;
}
SampleA.h
#include <iostream>
#ifndef _testing_ SampleA_h
#define _testing_ SampleA_h
class SampleA {
private:
int 2Darray[][2];
public :
SampleA()
{
2Darray[][2];
};//default constructor
SampleA(2Darray[][2]);
std::string get2DArray();
void set2DArray(2Darray[][2]);
};
main.cpp
#include <iostream>
#include SampleA.h
using namespace std;
SampleA outputMethod;
int main () {
int storeValue [2][2];
for(int i =0; i<2; i++) {
cout << "Enter first number" << endl;
cin >> storeValue[i][0];
cout << "Enter first number" << endl;
cin >> storeValue[i][1];
}
//pass the 2dArray value using SampleA class consturctor
SampleA storeText(storeValue);
// output method displayNumber() method from SampleA class
outputMethod.displayNumber();
}