#pragma once // 01.h
#include
#include
using namespace std;
class Circle { // Circle 클래스
int radius;
public:
Circle(int radius=0) { this->radius = radius; }
int getRadius() { return radius; }
void setRadius(int radius) { this->radius = radius; }
double getArea() { return 3.14*radius*radius; }
};
class NamedCircle : public Circle { // Circle 클래스를 상속받은 NamedCircle 클래스
string name;
public:
NamedCircle(int radius, string name); // 생성자
string getNamed();
void show();
};
#include // 01.cpp
#include
#include"01.h"
using namespace std;
NamedCircle::NamedCircle(int radius, string name) : Circle(radius) { // Circle생성자를 상속받는 NamedCircle 생성자
this->name = name;
}
string NamedCircle::getNamed() {
return name;
}
void NamedCircle::show() { // 출력
cout << "반지름이 " << getRadius() << "인 " << name << endl;
}
#include"01.h" // 01_main.cpp
int main() {
NamedCircle waffle(3, "waffle"); // NamedCircle타입의 waffle 객체 생성
waffle.show();
}