この C++ データ構造プログラムはほとんど正しいですが、RefFunction()
パラメーターに問題があります。それらは完全に適切に設計されていません。それらは値渡しではなく、参照渡しであると想定されており、その方法がわかりません。int
への参照とへの参照を取りますdouble
。引数によって参照される変数に格納される値を入力するようにユーザーに照会します。次に、クラス インスタンスに戻り、値を に出力できますmain()
。私は非常に立ち往生しているので、助けていただければ幸いです。どうもありがとうございました。
ヘッダー ファイル:
#ifndef Prog1Class_h
#define Prog1Class_h
//A data structure of type Prog1Struct containing three variables
struct Prog1Struct
{
int m_iVal;
double m_dVal;
char m_sLine[81];
};
// A class, Prog1Class, containing a constructor and destructor
// and function prototypes
class Prog1Class
{
public:
Prog1Class();
~Prog1Class();
void PtrFunction(int *, double *);
void RefFunction(int, double);
void StructFunction(Prog1Struct *);
};
#endif
.CPP ファイル
#include "Prog1Class.h"
#include <string>
#include <iostream>
using namespace std;
Prog1Class::Prog1Class() {}
Prog1Class::~Prog1Class() {}
// PtrFunction shall query the user to input values to be stored in the
// variables referenced by it's pointer arguments
void Prog1Class::PtrFunction(int *a, double *b)
{
cout << "Input keyboard values of type integer and double"<<endl;
cin>>*a >>*b;
}
// RefFunction shall be a C++ Reference function and shall query the user to
// input values to be stored in the variables referenced by it's arguments
void Prog1Class::RefFunction(int a, double b)
{
cout << "Input keyboard values of type integer and double"<<endl;
cin >>a >>b;
}
// StructFunction shall query the user to input values to be stored in the
// three fields of the data structure referenced by its argument
void Prog1Class::StructFunction(Prog1Struct* s)
{
cout << "Input keyboard values of type integer and double"<<endl;
cin >>s->m_iVal>>s->m_dVal;
cout <<"Input a character string";
cin.ignore(1000, '\n');
cin.getline(s->m_sLine, 81, '\n');
}