티스토리 뷰
[ Inheritence & Polymorphism ]
class Animal{
public: void id(){cout << "animal";}
};
class Cat : public Animal{
public: void id(){cout << "cat";}
};
class Dog : public Animal{
public: void id(){cout << "dog";}
};
main(){
Animal *pA[] = {new Animal, new Dog, new Cat};
for(int k=0; k<3; k++)
pA[k]->id();
}
public: void id(){cout << "animal";}
};
class Cat : public Animal{
public: void id(){cout << "cat";}
};
class Dog : public Animal{
public: void id(){cout << "dog";}
};
main(){
Animal *pA[] = {new Animal, new Dog, new Cat};
for(int k=0; k<3; k++)
pA[k]->id();
}
animal animal animal
[ Virtual Functions ]
class Animal{
public: virtual void id(){cout << "animal";}
};
class Cat : public Animal{
// Base function이 virtual이면 virtual keyword 생략 가능.
public: virtual void id(){cout << "cat";}
};
class Dog : public Animal{
// Base function이 virtual이면 virtual keyword 생략 가능.
public: virtual void id(){cout << "dog";}
};
main(){
Animal *pA[] = {new Animal, new Dog, new Cat};
for(int k=0; k<3; k++)
pA[k]->id();
}
public: virtual void id(){cout << "animal";}
};
class Cat : public Animal{
// Base function이 virtual이면 virtual keyword 생략 가능.
public: virtual void id(){cout << "cat";}
};
class Dog : public Animal{
// Base function이 virtual이면 virtual keyword 생략 가능.
public: virtual void id(){cout << "dog";}
};
main(){
Animal *pA[] = {new Animal, new Dog, new Cat};
for(int k=0; k<3; k++)
pA[k]->id();
}
animal dog cat
- 모든 함수를 virtual 쓰는 것은 좋지 않다.
- Why? Virtual Function은 Dymamic Binding을 쓰기 때문에 Compile Time에 수행된다.
- 즉, 메모리 점유가 많아져 Overhead가 발생한다.
- Dynamic Binding : Virtual Function이 Pointer나 Reference를 통해 호출될 때만 일어난다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 인터넷 품질 테스트
- 윈도우느려짐
- Giga인터넷라이트
- SK브로드밴드
- 윈도우업데이트후느려짐
- 왓 포
- 합천영상테마파크
- 윈도우즈10업데이트
- GiGA인터넷
- 영상테마파크
- 기가인터넷
- 인터넷 설치 후기
- 싱가포르공항
- 해외출장
- 방콕
- Chao Phraya Express Boat
- NIA스피드인터넷속도측정
- 기가인터넷라이트
- 인터넷 속도 테스트
- SK브로드밴드 기가인터넷
- 유시민
- 인터넷속도측정
- 싱가포르
- 윈도우버벅임
- 42
- Wat Arun
- 새벽사원
- 쿠알라룸프르
- 타 싸톤
- CSR 4.0
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함