C++/클래스 헤더파일 분리와 상호참조
클래스 상호참조 (수강신청 예제)
(13530) 수강 신청을 위한 클래스들을 작성한다. 과목당 최대 학생 수는 무제한이며 최초 설정된 인원수로 포인터 배열을 동적 할당한다. 학생당 최대 과목 수는 10과목으로 한다. #include #include "student.h" #include "course.h" using namespace std; int main() { Student *s1, *s2, *s3; Course *c1, *c2, *c3; s1 = new Student("김길동", "60201111"); s2 = new Student("이길동", "60202222"); s3 = new Student("홍길동", "60203333"); c1 = new Course("국어1", "1001", 20); // 과목명, 과목번호, 제한인원 c..
클래스 상호참조 (family 예제)
(12470) main함수가 실행되도록 파일을 클래스별로 나누어 코드를 작성하시오. 자식의 수에는 제한이 없도록 포인터 배열로 구현한다. 크기 제한은 20명으로 한다. #include "wife.h" #include "family.h" #include "child.h" using namespace std; int main() { Man *m = new Man("김부자"); Wife *f = new Wife("강예쁜"); Family *myFamily = new Family(m, f); // 생성자에서 서로 포인터를 연결해 준다. Child *c1 = new Child("김장남"); Child *c2 = new Child("김차남"); Child *c3 = new Child("김삼남"); myFamily-..
클래스 상호참조 (분대와 분대원 예제)
#include #include "squad.h" #include "soldier.h" using namespace std; int main(){ Squad *b = new Squad ("번개 분대"); Soldier *s1, *s2, *s3; s1 = new Soldier("일병", "홍길동"); s2 = new Soldier("이병", "김길동"); s3 = new Soldier("병장", "박길동"); b->addSoldier(s1); b->addSoldier(s2); b->addSoldier(s3); b->stat(); s1->speak(); s2->speak(); b->setName("천둥 분대");//rename s1->speak(); return 0; } #include #include "s..
클래스 상호참조 (애견학교 예제)
#include #include "dog.h" #include "dogschool.h" int main(){ /* Dog *d1, *d2; d1 = new Dog("철수"); d2 = new Dog("영이"); d1->speak(); d2->speak(); DogSchool * ds = new DogSchool("명지 애견학교"); ds->RegisterDog(d1); // d1을 애견학교에 등록시킨다. ds->RegisterDog(d2); // d2을 애견학교에 등록시킨다. ds->ShowDogs(); */ Dog *d1, *d2; d1 = new Dog("철수"); d2 = new Dog("영이"); DogSchool * ds = new DogSchool("명지 애견학교"); ds->RegisterD..