Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <iostream>
- #include <fstream>
- #include <iomanip>
- using namespace std;
- class CA1
- {
- protected:
- int in;
- int out;
- public:
- CA1();
- CA1(int i, int o);
- ~CA1();
- };
- CA1::CA1() {
- in = 0;
- out = 0;
- }
- CA1::CA1(int i, int o) {
- in = i;
- out = o;
- }
- CA1::~CA1() {
- }
- class CB1 : virtual public CA1
- {
- public:
- CB1();
- CB1(int i, int o);
- void Table();
- virtual void Print(int i);
- virtual void Incr_input() { in += 10; };
- virtual void Incr_output() { out += 10; };
- virtual ~CB1();
- };
- CB1::CB1(): CA1() {
- }
- CB1::CB1(int i, int o): CA1(i, o) {
- }
- void CB1::Table() {
- ofstream fout;
- fout.open("data_table.txt");
- fout << "|" << " № компьютера " << "|" << " кол-во принятых сообщений " << "|" << " кол-во отправленных сообщений " << "|" << endl;
- fout << "____________________________________________________________________________" << endl;
- fout.close();
- cout << "|" << " № компьютера " << "|" << " кол-во принятых сообщений " << "|" << " кол-во отправленных сообщений " << "|" << endl;
- cout << "____________________________________________________________________________" << endl;
- }
- void CB1::Print(int i) {
- ofstream fout;
- fout.open("data_table.txt", ios::app);
- fout << "|" << setw(7) << i + 1 << setw(8) << "|" << setw(14) << in << setw(14) << "|" << setw(16) << out << setw(16) << "|" << endl;
- fout << "____________________________________________________________________________" << endl;
- fout.close();
- cout << "|" << setw(7) << i + 1 << setw(8) << "|" << setw(14) << in << setw(14) << "|" << setw(16) << out << setw(16) << "|" << endl;
- cout << "____________________________________________________________________________" << endl;
- }
- CB1::~CB1() {
- }
- class CB2 : virtual public CA1
- {
- public:
- CB2();
- CB2(int i, int o);
- virtual void Print(int i);
- virtual void Incr_input() { in += 20; };
- virtual void Incr_output() { out += 20; };
- virtual ~CB2();
- };
- CB2::CB2(): CA1() {
- }
- CB2::CB2(int i, int o): CA1(i, o) {
- }
- void CB2::Print(int i) {
- ofstream fout;
- fout.open("data_vec.txt", ios::app);
- fout << "Компютер № " << i + 1 << " получил " << in << " сообщений и отправил " << out << " сообщений." << endl;
- fout.close();
- cout << "Компютер № " << i + 1 << " получил " << in << " сообщений и отправил " << out << " сообщений." << endl;
- }
- CB2::~CB2() {
- }
- class CD1 : public CB1
- {
- public:
- CD1();
- CD1(int i, int o);
- virtual void Incr_input() { in += 5; };
- virtual void Incr_output() { out += 5; };
- ~CD1();
- };
- CD1::CD1(): CB1() {
- }
- CD1::CD1(int i, int o): CB1(i, o) {
- }
- CD1::~CD1() {
- }
- class CD2 : public CB2
- {
- public:
- CD2();
- CD2(int i, int o);
- virtual void Incr_input() { in += 7; };
- virtual void Incr_output() { out += 7; };
- ~CD2();
- };
- CD2::CD2(): CB2() {
- }
- CD2::CD2(int i, int o) : CB2(i, o) {
- }
- CD2::~CD2() {
- }
- #pragma once
- #include "Classes.cpp"
- class CComputer: public CD1, public CD2
- {
- public:
- CComputer();
- CComputer(int i, int o);
- ~CComputer();
- int get_count_input() { return in; };//взять значения принятых сообщений
- int get_count_output() { return out; };//взять значение отправленных сообщений
- void Incr_input() { in++; };//увеличить кол-во принятых сообщений
- void Incr_output() { out++; };//увеличить кол-во отправленных сообщений
- void Print(bool flag, int count);
- };
- #include "Computer.h"
- CComputer::CComputer(): CD1() {
- }
- CComputer::CComputer(int i, int o) : CD1(i, o) {
- }
- CComputer::~CComputer() {
- }
- void CComputer::Print(bool flag, int i) {
- if (flag == true)
- CB1::Print(i);
- else
- CB2::Print(i);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement