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;
}

출력문