Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class A
- {
- private:
- string priv="prywatny";
- public:
- string pub="publiczny";
- protected:
- string prot="chronione";
- };
- class B: public A //Klasa B pokazuje, jak dziala dziedziczenie tylko elementow publicznych
- {
- private:
- public:
- // void wypisz1() {cout<<priv<<endl;} Ta linijka nigdy nie zadziala, nie da sie odziedziczyc prywatnych elementow
- void wypisz2() {cout<<prot<<endl;}
- protected:
- };
- class C: protected A // Klasa C pokazuje, jak dziala dziedziczenie tylko elementow chronionych
- {
- private:
- public:
- // void wypisz3(){cout<<priv;} Ta linijka nigdy nie zadziala, nie da sie odziedziczyc prywatnych elementow
- void wypisz4(){cout<<prot<<endl;}
- void wypisz5(){cout<<pub<<endl;}
- protected:
- string prot;
- string pub;
- };
- class D: A //Klasa D pokazuje najbardziej ogolny typ dziedziczenia
- {
- private:
- // string pub; takich elementow nie mozna odziedziczyc i "uprywatnic"
- // string prot;
- public:
- protected:
- };
- int main()
- {
- A ob1=A();
- cout<<ob1.pub<<endl;
- B ob2=B();
- ob2.wypisz2();
- C ob3=C();
- ob3.wypisz4(); //te dwie linijki nie wyrzuca bledu, ale i tez nie zostana wypisane, poniewaz "pub" i "prot" zostaly zabezpieczone w klasie C;
- ob3.wypisz5();
- D ob4=D();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement