Скачиваний:
67
Добавлен:
30.03.2020
Размер:
36 Кб
Скачать
☆

Г. Вывод программы

Вывод программы с классами COne, CTwo, CThree и CFour

int main() {     const int N = 5;

    // Создание объекта     CFour tA("Text string", "Text string 2", "Text string 2 3", N);

    // Вызов метода print() для печати информации об объекте     cout << "tA: ", tA.print(), cout << endl;

    // Вывод длин строк     cout << "Lengths tA: " << tA.len() << ' ' << tA.getCOne()->len() << ' ' << tA.getCOnePoint()->len() << endl;     cout << "Strings tA: " << tA.getString() << ' ' << tA.getCOne()->getString() << ' ' << tA.getCOnePoint()->getString() << endl;     cout << "Values tA: " << tA.getCOne()->getValue() << ' ' << tA.getCOnePoint()->getValue() << endl;

    // Заполнение массива чисел типа double рандомными числами от 0 до 99     for (size_t i = 0; i < N; ++i) {

        tA[i] = rand() % 100;     }

    // Копирование конструктором     cout << "======================" << endl;     cout << "== Copy constructor ==" << endl;     CFour tC(tA);     cout << "tA: ", tA.print(), cout << endl;     cout << "tC: ", tC.print(), cout << endl;

    // Копирование присваиванием     cout << "=====================" << endl;     cout << "== Copy assignment ==" << endl;     tC = tA;     cout << "tA: ", tA.print(), cout << endl;     cout << "tC: ", tC.print(), cout << endl;

tA: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [0, 0, 0, 0, 0, 0] ], 5, 'Text string 2 3' ]

Lengths tA: 11 13 15

Strings tA: Text string Text string 2 Text string 2 3

Values tA: 5 5

======================

== Copy constructor ==

tA: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [41, 41, 67, 34, 0, 69] ], 5, 'Text string 2 3']

tC: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [41, 41, 67, 34, 0, 69] ], 5, 'Text string 2 3']

=====================

== Copy assignment ==

tA: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [41, 41, 67, 34, 0, 69] ], 5, 'Text string 2 3']

tC: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [41, 41, 67, 34, 0, 69] ], 5, 'Text string 2 3']

    // Перемещение конструктором     cout << "======================" << endl;     cout << "== Move constructor ==" << endl;     CFour tD(std::move(tA));     cout << "tA: ", tA.print(), cout << endl;     cout << "tD: ", tD.print(), cout << endl;     // Перемещение присваиванием     cout << "=====================" << endl;     cout << "== Move assignment ==" << endl;     tD = std::move(tC);     cout << "tC: ", tC.print(), cout << endl;     cout << "tD: ", tD.print(), cout << endl;     // Тест     cout << "\nTEST:\n";     test(); }

======================

== Move constructor ==

tA: CFour [ CThree [ CTwo [ undefined ] undefined ] undefined ]

tD: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [41, 41, 67, 34, 0, 69] ], 5, 'Text string 2 3']

=====================

== Move assignment ==

tC: CFour [ CThree [ CTwo [ undefined ] undefined ] undefined ]

tD: CFour [ CThree [ CTwo [ "Text string", COne {5, "Text string 2"} ], [41, 41, 67, 34, 0, 69] ], 5, 'Text string 2 3']

TEST:

CTwo [ "Text string 1", COne {3, "Text string 2"} ]

CThree [ CTwo [ "Text string 3", COne {4, "Text string 4"} ], [0, 0, 0, 0, 0] ]

CFour [ CThree [ CTwo [ "Text string 5", COne {5, "Text string 6"} ], [0, 0, 0, 0, 0, 0] ], 5, 'Text string 7' ]

Соседние файлы в папке Примеры отчетов