게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 상속 멤버함수 재정의 관한 문제인데요.. 함수작동이 제대로 안합니
게시물ID : programmer_14547짧은주소 복사하기
작성자 : 주기율표외워
추천 : 0
조회수 : 348회
댓글수 : 3개
등록시간 : 2015/11/22 17:40:50
옵션
  • 본인삭제금지
#include<iostream>
using namespace std;
class CShape
{
protected:
double Garo;
public:
CShape() : Garo(0)
{}
CShape(double Garo)
{
this->Garo = Garo;
}
};
class CRect : public CShape
{
protected:
double Sero;
public:
CRect() : Sero(0)
{}
double GetArea()
{
return Garo*Sero;
}
};
class CTrinangle : public CRect
{
protected:
double Height;
public:
CTrinangle() : Height(0)
{}
CTrinangle(double Height)
{
this->Height = Height;
}
double GetArea()
{
return 0.5*Garo*Height;
}
};
class CSadari : public CTrinangle
{
protected:
double UpperGaro;
public:
CSadari() : UpperGaro(0)
{}
CSadari(double UpperGaro)
{
this->UpperGaro = UpperGaro;
}
double GetArea()
{
return (Garo + UpperGaro)*Height*0.5;
}
};
int main()
{
double Garo, Sero, Height, UpperGaro;
cout << "Input Garo : ";
cin >> Garo;
cout << "Input Sero : ";
cin >> Sero;
cout << "Input Height : ";
cin >> Height;
cout << "Input UpperGaro : ";
cin >> UpperGaro;

CShape c1(Garo);
CRect c2(Sero);
CTrinangle c3(Height);
CSadari c4(UpperGaro);

cout << "Area of Rect : " << c2.GetArea() << endl;
cout << "Area of Triangle : " << c3.GetArea() << endl;
cout << "Area of Sadari : " << c4.GetArea() << endl;

return 0;

}

이 코드인데 메인함수에서 cin으로 각 클래스별 생성자 통해서 초기값 주고 3개의 클래스에서 같은 이름의 함수인 GetArea함수로 각 도형별

면적을 뽑는 코드인데요. 결과가 이렇게나옵니다.

asd.jpg

컴파일중에 오류같은건 안뜨는데 코드에서 어디가 잘못된건지 계속 이러네요.... 부모클래스에서 변수를 받아올때 GetArea함수가 잘못된거같은

느낌이긴한데 문제점을 찾지못하겟습니다. 

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호