클래스 : 설계도
객체 (인스턴스) : 설계도로 만든 실제 제품
클래스 : 객체 = 1 : 다수
// ic_engine : 부모 클래스
class gs_engine : public ic_engine {
public:
gs_engine(); // 생성자
~gs_engine(); // 소멸자
int get_current_fuel() {return current_fuel;}; // 멤버함수
private: //접근지정자
//멤버 함수
void acceleration_output() override;
void increasing_fuel() {increasing_piston_speed();};
//멤버 변수
int current_fuel;
int piston_speed;
};
//멤버 함수 정의
void gs_engine::accleration_output(){
increasing_fuel();
current_fuel++;
}
//클래스 정의
class engine {...};
//클래스를 데이터 형식처럼 사용하는 방법
engine my_engine;
//동적할당
engine *my_engine_pointer = new engine();
delete my_engine_pointer;
//멤버에 접근
my_engine.current_fuel; // 변수 접근
my_engine.increasing_piston_speed(); // 함수 호출