Classes
class Rectangle {
private:
double width, height;
public:
Rectangle(double w, double h) : width(w), height(h) {}
double area() { return width * height; }
};
Rectangle r(10, 5);
cout << r.area(); // 50
Inheritance
class Shape {
public:
virtual double area() = 0; // pure virtual
};
class Circle : public Shape {
double radius;
public:
Circle(double r) : radius(r) {}
double area() override { return 3.14159 * radius * radius; }
};
Summary
- Use private/public for encapsulation
- virtual for polymorphism