Abstraction - Kamills-12/2143-OOP GitHub Wiki
Abstraction is all about only what matters, and hiding the messy stuff underneath. It lets you focus on what something does, not how it does it.
- Keeps code clean and focused.
- Makes stuff easier to use and harder to break.
- You hide complexity and only expose what’s needed.
#include <iostream>
using namespace std;
// Abstract class
class Shape {
public:
virtual void draw() = 0; // pure virtual function
};
// Concrete class
class Circle : public Shape {
public:
void draw() override {
cout << "Drawing a circle." << endl;
}
};
int main() {
Shape* s = new Circle();
s->draw(); // outputs: Drawing a circle.
delete s;
return 0;
}