Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 다크웹
- 자바스크립트 객체
- 깃허브
- python
- oracle db
- 파이썬
- 랜섬웨어
- 자바스크립트 기본 문법
- ES6
- 카카오프로젝트100
- 오라클
- 자바스크립트 element api
- 자바스크립트
- php
- javascript
- 자바스크립트 jQuery
- 보안뉴스 요약
- 자바스크립트 node
- 보안뉴스한줄요약
- 보안뉴스
- 카카오프로젝트 100
- 자바스크립트 API
- oracle
- GIT
- 보안뉴스요약
- 카카오프로젝트
- Oracle SQL
- 자바스크립트 prototype
- 보안뉴스 한줄요약
- numpy
Archives
- Today
- Total
FU11M00N
[ C++ ] 상속개념 본문
C++ 에서 상속이란?
클래스 사이에서의 상속관계를 정의하는 것이다.
기본 클래스의 속성과 기능을 파생 클래스에 물려주는 것이다.
+ 기본 클래스 -> 상속해주는 클래스. 부모 클래스
+ 파생 클래스 -> 상속받는 클래스. 자식 클래스
클래스를 상속하게 되면 얻는 이점
1. 클래스 간결하게 작성
2. 클래스 간의 계층적 분류 및 관리 용이
상속관계의 생성자와 소멸자 실행
질문 1:
파생 클래스의 객체가 생성 될 때 파생 클래스의 생성자와 기본 클래스의 생성자가 모두 실행되나요?
답 1:
네 둘 다 실행됩니다.
질문 2:
파생 클래스의 생성자와 기본 클래스 생성자 중 어떤 생성자가 먼저 실행되나요?
답 2:
기본 클래스의 생성자가 먼저 실행됩니다.
#include <iostream>
using namespace std;
class TV {
int channel;
public:
TV(int channel) { this->channel = channel; }
TV() {}
void on() { cout << channel << " On" << endl; }
void off() { cout << " Off" << endl; }
~TV() { cout << "TV 소멸자" << endl; }
int getChannel() { return channel; }
};
class ColorTV :public TV {
protected: string color;
public:
ColorTV(int channel, string color) :TV(channel) { this->color = color; }
ColorTV() {}
void show() { cout << color << "색 보여라" << endl; }
~ColorTV() { cout << "color TV 소멸" << endl; }
};
class SmartTv : public ColorTV {
int price;
public:
SmartTv() {}
SmartTv(int channel, string color, int price) :ColorTV(channel, color) { this->price = price; }
void replay() {
cout << color << "색 채널번호 " << getChannel() << ", 가격 " << price
<< "원 입니다." << endl;
}
};
class WideTV : public ColorTV {
private:
int size;
public:
WideTV(string color, int channel, int size);
void play();
};
WideTV::WideTV(string color, int channel, int size) :ColorTV(channel, color) {
this->size = size;
}
void WideTV::play() {
cout << color << "색" << getChannel() << "번" << size << "인치" << endl;
}
int main() {
TV t(7);
t.on(); t.off();
ColorTV ct(9, "RED");
SmartTv sm(12, "Blue", 2500000);
sm.replay();
ct.show();
ct.on();
WideTV wt("Yello", 11, 60);
wt.play();
}
'Programming > C++' 카테고리의 다른 글
[ C++ ] 가상함수 (0) | 2021.06.01 |
---|---|
[ C++ ] 프렌드함수 (0) | 2021.06.01 |
[ C++ ] 함수중복 (0) | 2021.06.01 |
[ C++ ] 틱택토(Tic-Tca-Toe) 게임 (0) | 2021.04.15 |
[ C++ ] 임의의 문자 알아맞추기 게임 (행맨) (0) | 2021.04.13 |
Comments