62 lines
704 B
C++
62 lines
704 B
C++
#include <iostream>
|
|
using namespace std;
|
|
|
|
class A
|
|
{
|
|
public:
|
|
~A() {}
|
|
|
|
void const a() {}
|
|
};
|
|
|
|
class P
|
|
{
|
|
public:
|
|
|
|
int x;
|
|
int y;
|
|
|
|
P() : x(0), y(0) {}
|
|
P(int x, int y) : x(x), y(y) {}
|
|
|
|
|
|
};
|
|
ostream& operator << (ostream& os, P p)
|
|
{
|
|
os << "(" << p.x << "," << p.y << ")";
|
|
return os;
|
|
}
|
|
class B : public A
|
|
{
|
|
P p;
|
|
public:
|
|
B(const P& p) : p(p) {}
|
|
|
|
protected:
|
|
void const b()
|
|
{
|
|
cout << "B::p = " << p;
|
|
}
|
|
};
|
|
|
|
class C : public B
|
|
{
|
|
public:
|
|
C(const P& p) : B(p) {}
|
|
|
|
void const a()
|
|
{
|
|
B::b();
|
|
}
|
|
};
|
|
|
|
|
|
|
|
int main()
|
|
{
|
|
P p(19,20);
|
|
cout << "p=" << p << endl;
|
|
C c(p);
|
|
cout << "c.a() liefert: ";
|
|
c.a();
|
|
} |