mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-10-28 11:10:38 +01:00
bla bla
This commit is contained in:
34
uczelnia/2_semestr/programowanie/laby/lab11/zad3.cpp
Normal file
34
uczelnia/2_semestr/programowanie/laby/lab11/zad3.cpp
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user