ここに C++ の初心者がいて、これが私の最初の投稿です。私は学校でプロジェクトに取り組んでいますが、いくぶん立ち往生しています。私の仕事は、コースの名簿を作成することです。各名簿には、コース名、コース コード、コース単位、および教授名が含まれます。問題ありません。名簿クラスがあります。問題は、オブジェクトの配列を動的にする方法がわからないことです。これは、ユーザーが要求したときに拡大および縮小できる必要があるためです。私は一般的に動的配列にある程度精通していますが、オブジェクトの動的配列の構文についてはよくわかりません。そして、教授の指示によると、ベクトルはオプションではありません. このフォーラムだけでなく、インターネット上の他の領域も検索しましたが、答えが見つからないか、見つけた答えを理解できず、ここに投稿しようと思いました。以下は、オブジェクトの非動的配列のコードです。動的配列への変換の助けをいただければ幸いです。ありがとう!
StudentEnrollment.h:
#ifndef STUDENTENROLLMENT_H
#define STUDENTENROLLMENT_H
# include <iostream>
# include <string>
using namespace std;
class Roster {
private:
string courseName;
string courseCode;
string courseCredits;
string professorName;
public:
void setCourseName ( string );
void setCourseCode ( string );
void setCourseCredits ( string );
void setProfessorName ( string );
string getCourseName();
string getCourseCode();
string getCourseCredits();
string getProfessorName();
Roster ();
};
#endif;
StudentEnrollment.cpp:
#include <iostream>
#include <string>
#include "StudentEnrollment.h"
using namespace std;
// Roster class implementation
Roster::Roster () {
courseName = "";
courseCode = "";
courseCredits = "";
professorName = "";
}
void Roster::setCourseName ( string cn ) {
courseName = cn;
}
void Roster::setCourseCode ( string c ) {
courseCode = c;
}
void Roster::setCourseCredits ( string cc ) {
courseCredits = cc;
}
void Roster::setProfessorName ( string pn ) {
professorName = pn;
}
string Roster::getCourseName() {
return courseName;
}
string Roster::getCourseCode() {
return courseCode;
}
string Roster::getCourseCredits() {
return courseCredits;
}
string Roster::getProfessorName() {
return professorName;
}
main.cpp:
#include <iostream>
#include <string>
#include "StudentEnrollment.h"
using namespace std;
int main (int argc, char * const argv[]) {
int number_of_rosters = 0;
string course, code, credits, name;
cout << "Enter the number of rosters you would like to create: ";
cin >> number_of_rosters;
cin.ignore(100, '\n');
Roster roster[number_of_rosters];
for ( int i = 0; i < number_of_rosters; i++){
cout << "Enter course name: ";
getline(cin,course);
roster[i].setCourseName(course);
cout << "Enter course code; ";
getline(cin, code);
roster[i].setCourseCode(code);
cout << "Enter course credits: ";
getline(cin, credits);
roster[i].setCourseCredits(credits);
cout << "Enter professor name: ";
getline(cin, name);
roster[i].setProfessorName(name);
cout << "Next course..." << endl;
}
cout << endl;
for ( int i = 0; i < number_of_rosters; i++){
cout << roster[i].getCourseName() << endl;
cout << roster[i].getCourseCode() << endl;
cout << roster[i].getCourseCredits() << endl;
cout << roster[i].getProfessorName() << endl;
cout << endl;
}
return 0;
}
これが正しくフォーマットされていない場合はご容赦ください。これは私の最初の投稿です。
アーサー