virtual ~IBase();
virtual void show() = 0;
};
class A final : public IBase {
void show() override { std::cout << "A::show()\n"; }
};
class B final : public IBase {
void show() override { std::cout << "B::show()\n"; }
};
int main() {
std::vector<std::unique_ptr<IBase>> bases;
bases.emplace_back(std::make_unique<A>());
bases.emplace_back(std::make_unique<A>());
bases.emplace_back(std::make_unique<B>());
for (const auto& elm : bases)
elm->show();
}```
А в наследниках методы нарочно сделаны приватные?
Обсуждают сегодня