[c++] C++에서의 추상 클래스 정의

#include using namespace std;

// 추상 클래스 정의 class Shape { public: // 순수 가상 함수 virtual void draw() = 0; virtual float area() = 0; };

// 파생 클래스 정의 class Circle : public Shape { public: void draw() { cout « “원을 그립니다” « endl; } float area() { return 3.14 * radius * radius; } private: float radius; };

class Rectangle : public Shape { public: void draw() { cout « “사각형을 그립니다” « endl; } float area() { return width * height; } private: float width; float height; };

int main() { Circle c; c.draw(); cout « “원의 넓이: “ « c.area() « endl;

Rectangle r;
r.draw();
cout << "사각형의 넓이: " << r.area() << endl;

return 0; } ```

C++에서 추상 클래스는 순수 가상 함수로 구성된 클래스입니다. 추상 클래스는 객체를 만들 수 없고, 이를 상속받아 파생 클래스에서 순수 가상 함수를 구현해야 합니다. 위 예제에서는 Shape 클래스가 추상 클래스이며, draw()와 area() 함수가 순수 가상 함수로 선언되어 있습니다. Circle과 Rectangle 클래스가 Shape 클래스를 상속받아 순수 가상 함수를 구현하는 예시가 나와 있습니다.