다음 main()이 작동하도록 Person과 Family 클래스에 필요한 멤버들을 추가하고 코드를 완성하라.
#include // 08.h
using namespace std;
class Person{
string name;
public:
Person(){ } // 기본생성자
Person(string name){ this->name = name; }
string getName(){ return name; }
void setName(string name){ this->name = name; } // 이름 저장
};
class Family{
Person *p; // Person 배열 포인터
int size; // Person 배열 크기 가족구성원 수
string name;
public:
Family(string name, int size); // size 개수만큼 Person 배열 동적 생성
void show(); // 모든 가족 구성원 출력
~Family(); //소멸자
void setName(int i, string name); // i번째 이름
};
#include //08.cpp
#include
#include"08.h"
using namespace std;
Family::Family(string name, int size){
this->name = name;
this->size = size;
p = new Person[size]; // 3 크기만큼의 Person 배열 생성
}
Family::~Family(){
delete[] p; // 메모리 반환
}
void Family::show(){
cout << name << "가족은 다음과 같이 " << size << "명 입니다." << endl;
for (int i = 0; i < size; i++)
cout << p[i].getName() << '\t'; // 가족 출력
cout << endl;
}
void Family::setName(int i, string name){
p[i].setName(name); // i번째 이름 전달
}
#include
#include
#include"08.h"
using namespace std;
int main(){
Family *simpson = new Family("Simpson", 3); // Family(string name, int size) 생성
simpson->setName(0, "Mr.Sompson");
simpson->setName(1, "Mrs.Sompson");
simpson->setName(2, "Bart.Sompson");
simpson->show();
delete simpson; // 메모리 반환
}