2017-04-06 16 views
0

私は現在2つの完成したクラスを持っていますが、TeacherクラスとStudentクラスにはデフォルト定義があります。他のクラスオブジェクトを使用する配列を持つクラス

今、私はクラスルームとスクールのクラスを理解しようとしています。 Classroomクラスは、教師と35のStudentオブジェクトの配列を保持することになっています。

Schoolクラスには、100 Classroomオブジェクトの配列が含まれているはずです。

どうやってクラスの配列を初期化するのか知っていますが、他のクラスのオブジェクトを使ってこれをどうやって達成するのか分かりません。例えば

class Teacher 
{ 
    private: 
    string last; 
    string first; 
    int gradeLevel; 
    public: 
    Teacher(); 
}; 

Teacher::Teacher() 
{ 
    last = "AAAA"; 
    first = "BBBB"; 
    gradeLevel = 0; 
} 

class Student 
{ 
    private: 
     string studLast; 
     string studFirst; 
    public: 
     Student(); 
}; 

Student::Student() 
{ 
    studLast = "AAAA"; 
    studFirst = "BBBB"; 
} 

class Classroom 
{ 

}; 

class School 
{ 
}; 
+1

代わりにベクトルを使用することができます。 – user1438832

+0

@ user1438832配列を使用する必要があります – Alex204

+0

@ Alex204:なぜ配列を使用する必要がありますか? –

答えて

1

は、あなたが望んでいただけのもののよう、Teacherを作成し、あなたが知らなかった場合Studentオブジェクトの配列を作成することですStudent students[35];のように行われます。次に、Classroomオブジェクトの配列であるSchoolオブジェクトに移動します。ここでは、完全なコードは次のとおりです。

class Classroom 
{ 
private: 
    Teacher teacher; 
    Student students[35]; 
public: 
    Classroom(); 
}; 

Classroom::Classroom() 
{ 
    ; 
} 

class School 
{ 
private: 
    Classroom classrooms[100]; 
public: 
    School(); 
}; 

School::School() 
{ 
    ; 
} 

注:Student students[35];ような何かを書くときのアレイ内のすべての項目が初期化されます。 cout << this->stduents[12].studLast << endl;

2

:あなたがここで何をしたいのか

class Classroom 
{ 
private: 
    Teacher t; // create a teacher 
    Student s[35]; // create an array of 35 students 
... 
}; 

class School 
{ 
private: 
    Classroom rooms[100]; // create an array of 100 rooms 
... 
}; 
関連する問題