Class hierarchy 0
main.cpp
Go to the documentation of this file.
1 #include <iostream>
2 #include <string>
3 using namespace std;
4 
5 
6 
7 class A
8 {
9 public:
10  A(string const & name)
11  : _ss(name)
12  {
13  }
14 
15  string Get_string() const
16  {
17  return _ss;
18  }
19 
20 //private: // No access from outside this class.
21 protected: // Allows access to members by derived classes.
22  string _ss;
23 
24 };
25 
26 class B : public A // IS-A [derived class]; 'public' allows access to public/protected members/methods of class A
27 {
28 public:
29  B(string const & name, int b) // Has-A [additional property wrt. A]
30  : A(name), _b(b)
31  {
32  }
33 
34  //string Get_string() const {return _ss;} // overload, not needed here
35 
36  int fkt_B() const
37  {
38  return _b*_b; // Has-A [additional property wrt. A]
39  }
40 
41 private:
42  int _b; // Has-A [additional property wrt. A]
43 };
44 
45 
46 
47 //------------------------
48 
49 int main()
50 {
51  A v("Freitag");
52  cout << v.Get_string() << endl; // A::Get_string
53 
54  B g("Samstag",7);
55 
56  cout << g.Get_string() << " "; // B::Get_string --> A::Get_string
57  cout << g.fkt_B() << endl;
58 
59 
60  return 0;
61 }
Definition: main.cpp:26
int main()
Definition: main.cpp:49
string Get_string() const
Definition: main.cpp:15
int fkt_B() const
Definition: main.cpp:36
Definition: main.cpp:7
string _ss
Definition: main.cpp:22
B(string const &name, int b)
Definition: main.cpp:29
A(string const &name)
Definition: main.cpp:10