메뉴 건너뛰기

Programing

C++ 프로그래밍

#include <iostream>
using namespace std;

class Figure{
protected:
 int w,h;
public:
 
 Figure(int wi,int he){
  w=wi;
  h=he;
 }
 virtual void Calulate()=0;
};
class Circle : public Figure{
 public:
  Circle(int radius):Figure(radius,0){}
  void Calulate(){
   cout<<"Circle : radius = "<<w<<"=>"<<w*w*3.14<<endl;
  }
};
class Square :public Figure{
public:
 Square(int width,int height): Figure(width,height){}
 void Calulate(){
  cout<<"Square : ("<<w<<", "<<h<<")=>"<<w*h<<endl;
 }
};
class Triangle:public Figure{
public:
 Triangle(int width,int height):Figure(width,height){}
 void Calulate(){
  cout<<"Triangle : ("<<w<<", "<<h<<")=>"<<w*h/2<<endl;
 }
};
int main(){
 Figure* fig[3]{new Circle(5),new Square(2,5),new Triangle(4,5)};
 for(int i=0;i<3;i++){
  fig[i]->Calulate();
 }
 return 0;
}

--------------------------------------------------------------

Figure클래스의 Calulate함수를 순수가상함수로 선언해 각 자식클래스에서 재정의하여 계산하도록 변경하였다.

번호 제목 글쓴이 최근 수정일 조회 수
공지 안내사항 관리자 2019.12.21 162
105 rewind() 함수의 사용에 관하여 관리자 2024.03.13 107
104 일반화 함수의 사용3 관리자 2019.03.01 162
103 일반화 함수의 사용2 관리자 2019.02.28 162
102 일반화 함수 사용 관리자 2019.02.28 166
101 순수가상함수 사용 계산기 관리자 2019.02.27 214
» 순수가상함수 사용한 여러 도형의 넓이 구하기 관리자 2019.02.27 199
99 순수 가상함수 관리자 2019.02.27 163
98 가상소멸자 관리자 2019.02.27 149
97 가상함수 사용3 관리자 2019.02.27 155
96 가상함수의 사용2 관리자 2019.02.26 168
95 가상함수 사용1 관리자 2019.02.26 156
94 사각형정보 입력받아 파일에 출력하기 관리자 2019.02.26 220
93 파일 복사 관리자 2019.02.26 161
92 파일 출력 관리자 2019.02.26 154
91 조작자 생성2 관리자 2019.02.26 152
90 조작자 생성1 관리자 2019.02.25 154
89 입출력연산자 중복 관리자 2019.02.25 152
88 일반 출력설정 관리자 2019.02.25 154
87 조작자를 통한 출력 설정 관리자 2019.02.25 167
86 연산자 중복 - 차집합구하기 관리자 2019.02.25 281
85 연산자 중복-교집합과 합집합 구하기 관리자 2019.02.25 198
84 연산자 중복-스트림연산자 관리자 2019.02.21 161
83 연산자 중복-치환연산자 관리자 2019.02.20 294
82 연산자 중복-friend함수 사용 관리자 2019.02.20 159
81 연산자 중복-단항연산자 관리자 2019.02.20 209
80 연산자 중복-관계연산자 관리자 2019.02.20 153
79 연산자 중복-이항연산자 관리자 2019.02.20 178
78 함수 중복 이용한 숫자 차 계산 관리자 2019.02.19 164
77 함수 포인터와 함수 중복 관리자 2019.02.19 204
위로