게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
클래스 상속관계, 클래스 포인터, 리스트에 관한 질문...을 쓰다가
게시물ID : programmer_20525짧은주소 복사하기
작성자 : 브레멘음악대
추천 : 0
조회수 : 288회
댓글수 : 1개
등록시간 : 2017/05/10 21:46:36
class Mom
{
public:
virtual void prnt() = 0;
};

class Son : public Mom
{
public:
void prnt() { cout << "아들!" << endl; }
};

class Daughter : public Mom
{
public:
void prnt() { cout << "딸!" << endl; }
};

이런 클래스가 있다고 칠 때
메인 함수에서

Mom *Home[2];

Son *son = new Son;
Daughter *daughter = new Daughter;
Home[0] = son;
Home[1] = daughter;

for(int i = 0 ; i < 2 ; i++)
{
Home[i]->prnt();
}

이렇게 부모클래스 포인터 배열로
자식 클래스들을 관리할 수 있는데

이걸 리스트를 써서 관리할 수 있을까요?
관리 하려면 어떻게 해야 할까요?

라고 질문글을 거의 다 썼는데
문득 아이디어가 떠올라서...

list<Mom*> Home1;
Home1.push_back(son);
Home1.push_back(daughter);

for (auto iter : Home1)
{
iter->prnt();
}

이렇게 해봤더니 잘 되는군요! ㄷㄷㄷㄷㄷ

딸아들.PNG
ㄷㄷㄷㄷㄷ
질문글 쓰다 도중에 해결했습니다 ㄷㄷㄷㄷㄷㄷㄷ
봐주셔서 감사합니다 ㄷㄷㄷㄷㄷ
출처 글 거의 다 썼는데 지우기 아까워서 뿅
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호