Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- struct PojazdMechaniczny{
- char* nazwa;
- int wiek;
- PojazdMechaniczny(int w, char* n)
- : wiek(w), nazwa(strcpy(new char[strlen(n) + 1], n))
- {}
- PojazdMechaniczny(const PojazdMechaniczny & pm):
- wiek(pm.wiek), nazwa(strcpy(new char[strlen(pm.nazwa) + 1] , pm.nazwa))
- {
- }
- ~PojazdMechaniczny(){
- delete[] nazwa;
- }
- virtual void show() = 0;
- };
- struct Samochod : public PojazdMechaniczny{
- char* kolor;
- int pojemnosc;
- Samochod(int w, char* n, int p, char* k) :
- PojazdMechaniczny(w, n), pojemnosc(p), kolor(strcpy(new char[strlen(k) + 1], k)){}
- Samochod(const Samochod &s) : PojazdMechaniczny(s), pojemnosc(s.pojemnosc), kolor(strcpy(new char[strlen(s.kolor) + 1], s.kolor)) {}
- ~Samochod(){
- delete[] kolor;
- }
- void show(){
- cout << nazwa << "\n" << wiek << "\n" << kolor << "\n" << pojemnosc << endl;
- }
- };
- struct Lodz : public PojazdMechaniczny{
- char* typ;
- int wypornosc;
- Lodz(int w, char* n, int wyp, char* t) :PojazdMechaniczny(w, n), wypornosc(wyp), typ(strcpy(new char[strlen(t) + 1], t)){}
- Lodz( const Lodz &l): PojazdMechaniczny(l), wypornosc(l.wypornosc), typ(strcpy(new char[strlen(l.typ) + 1] , l.typ)){}
- ~Lodz(){
- delete[] typ;
- }
- void show(){
- cout << nazwa << "\n" << wiek << "\n" << typ << "\n" << wypornosc << endl;
- }
- };
- struct Amfibia : public Samochod, public Lodz{
- Samochod::nazwa;
- Samochod::wiek;
- Amfibia(int w, char* n, int wyp, char* t, int p, char* k)
- : Lodz(w, n, wyp, t), Samochod(w, n , p, k)
- {}
- Amfibia(const Amfibia &a) :Lodz(a), Samochod(a)
- {}
- ~Amfibia(){
- }
- };
- /*template<PojazdMechaniczny, 3>
- struct Garaz{
- PojazdMechaniczny* obj;
- int maximum;
- };*/
- int main(){
- Samochod* samoch = new Samochod(5, "toyota", 2, "czerwony");
- Lodz* lod = new Lodz(10, "nustang", 20, "dabl");
- Amfibia* amf = new Amfibia(2, "amfibia", 10, "jeziorna", 7, "zieliony");
- samoch->show();
- lod->show();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement