c++
상속 연습문제
풀스택 개발자
2019. 12. 28. 17:23
1. 다음과 같은 기본 클래스가 주어져있다.
class area_cl{
public:
double height;
double width;
}
이 클래스에서 area_cl을 상속받는 box와 isosceles라는 두 개의 파생 클래스를 생성하여라. 상자,이등변 삼각형의 넓이를 각각 반환하는 area()라는 함수를 각 클래스에 추가시켜라 , 매개변수가 있는 생성자를 사용하여 height와 width 를 초기화하여라.
#include<iostream>
using namespace std;
class area_cl {
public:
double height;
double width;
};
class box :public area_cl {
double extent;
double depth;
public:
box(double h,double w,double d);
double area();
};
box::box(double h, double w, double d)
{
height = h;
width = w;
depth = d;
}
double box::area()
{
extent = height * width * depth;
return extent;
}
class isosceles :public area_cl {
double extent;
public:
isosceles(double h, double w);
double area();
};
isosceles::isosceles(double h, double w)
{
double extent;
height = h;
width = w;
}
double isosceles::area()
{
extent = height * width;
return extent;
}
int main()
{
box b1(3.5,3,4.5);
isosceles i1(3.6,5.7);
cout << "상자의 넓이는" << b1.area() << "입니다." << endl;
cout << "이등변 삼각형의 넓이는" << i1.area() << "입니다." << endl;
}