class AbstractClass {
private:
public:
AbstractClass() = default;
virtual ~AbstractClass() = default;
virtual void SomeOperation() const = 0;
};
class DerivedClass : public AbstractClass {
public:
DerivedClass() = default;
~DerivedClass() = default;
void SomeOperation() const override {
std::cout << "Print something" << std::endl;
}
};