This commit is contained in:
2026-05-26 15:01:50 +02:00
parent 6a948ffe9f
commit a645291f8b
55 changed files with 1337 additions and 2 deletions

View File

@@ -0,0 +1,34 @@
#include <iostream>
#include <memory>
#include <vector>
class Czlowiek {
public:
virtual void mowa() const { std::cout << "..." << std::endl; }
virtual ~Czlowiek() = default;
};
class Polak : public Czlowiek {
public:
void mowa() const override { std::cout << "Czesc!" << std::endl; }
};
class Anglik : public Czlowiek {
public:
void mowa() const override { std::cout << "Hello!" << std::endl; }
};
int main() {
std::vector<std::unique_ptr<Czlowiek>> ludzie;
ludzie.push_back(std::make_unique<Polak>());
ludzie.push_back(std::make_unique<Anglik>());
ludzie.push_back(std::make_unique<Czlowiek>());
for (const auto &c : ludzie)
c->mowa();
// Cześć!
// Hello!
// ...
// Przy metodzie niewirtualnej pojawi się błąd kompilacji – nadpisujemy meto
// dę, która nie jest wirtualna
}