first git commit
This commit is contained in:
commit
f6faa4eb2f
108
pr3-end.cpp
Normal file
108
pr3-end.cpp
Normal file
@ -0,0 +1,108 @@
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
class A1 {
|
||||
protected:
|
||||
int a1;
|
||||
|
||||
public:
|
||||
A1(int V1 = 0) : a1(V1) { cout << "\nClass A1 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of A1 class"; }
|
||||
virtual void show() { cout << "\na1 = " << a1; }
|
||||
};
|
||||
|
||||
class A2 {
|
||||
protected:
|
||||
int a2;
|
||||
|
||||
public:
|
||||
A2(int V1 = 0) : a2(V1) { cout << "\nClass A2 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of A2 class"; }
|
||||
virtual void show() { cout << "\na2 = " << a2; }
|
||||
};
|
||||
|
||||
class A3 {
|
||||
protected:
|
||||
int a3;
|
||||
|
||||
public:
|
||||
A3(int V1 = 0) : a3(V1) { cout << "\nClass A3 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of A3 class"; }
|
||||
virtual void show() { cout << "\na3 = " << a3; }
|
||||
};
|
||||
|
||||
class B1 : virtual public A1, virtual public A3 {
|
||||
protected:
|
||||
int b1;
|
||||
|
||||
public:
|
||||
B1(int V1 = 0, int V2 = 0) : A1(V1), A3(V2), b1(V1) { cout << "\nClass B1 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of B1 class"; }
|
||||
virtual void show() { cout << "\nb1 = " << b1 << ", a1 = " << a1 << ", a3 = " << a3; }
|
||||
};
|
||||
|
||||
class B2 : virtual public A2, virtual public A3 {
|
||||
protected:
|
||||
int b2;
|
||||
|
||||
public:
|
||||
B2(int V1 = 0, int V2 = 0) : A2(V1), A3(V2), b2(V1) { cout << "\nClass B2 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of B2 class"; }
|
||||
virtual void show() { cout << "\nb2 = " << b2 << ", a2 = " << a2 << ", a3 = " << a3; }
|
||||
};
|
||||
|
||||
class C1 : virtual public B1, virtual public B2 {
|
||||
protected:
|
||||
int c1;
|
||||
|
||||
public:
|
||||
C1(int V1 = 0, int V2 = 0, int V3 = 0) : A1(V1), B1(V1, V3), B2(V2, V3), c1(V1) { cout << "\nClass C1 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of C1 class"; }
|
||||
virtual void show() { cout << "\nc1 = " << c1 << ", b1 = " << b1 << ", b2 = " << b2; }
|
||||
};
|
||||
|
||||
class C2 : virtual public B1, virtual public B2 {
|
||||
protected:
|
||||
int c2;
|
||||
|
||||
public:
|
||||
C2(int V1 = 0, int V2 = 0, int V3 = 0) : A1(V1), B1(V1, V3), B2(V2, V3), c2(V1) { cout << "\nClass C2 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of C2 class"; }
|
||||
virtual void show() { cout << "\nc2 = " << c2 << ", b1 = " << b1 << ", b2 = " << b2; }
|
||||
};
|
||||
|
||||
class C3 : virtual public B1, virtual public B2 {
|
||||
protected:
|
||||
int c3;
|
||||
|
||||
public:
|
||||
C3(int V1 = 0, int V2 = 0, int V3 = 0) : A1(V1), B1(V1, V3), B2(V2, V3), c3(V1) { cout << "\nClass C3 constructor"; }
|
||||
virtual void print() { cout << "\nVariable of C3 class"; }
|
||||
virtual void show() { cout << "\nc3 = " << c3 << ", b1 = " << b1 << ", b2 = " << b2; }
|
||||
};
|
||||
|
||||
int main() {
|
||||
|
||||
B1 b1(1, 2);
|
||||
B2 b2(3, 4);
|
||||
C1 c1(7, 8, 9);
|
||||
C2 c2(11, 12, 13);
|
||||
C3 c3(14, 15, 16);
|
||||
|
||||
|
||||
B1* ptr1 = &b1;
|
||||
B2* ptr2 = &b2;
|
||||
B1* ptr3 = &c1;
|
||||
B2* ptr4 = &c2;
|
||||
B1* ptr5 = &c3;
|
||||
|
||||
|
||||
|
||||
ptr1->show();
|
||||
ptr2->show();
|
||||
ptr3->show();
|
||||
ptr4->show();
|
||||
ptr5->show();
|
||||
|
||||
return 0;
|
||||
}
|
||||
BIN
Практическая работа 3.pdf
Normal file
BIN
Практическая работа 3.pdf
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user