Отчеты по лабам / Лабораторная #2 Акименко
.docxДисциплина: Объектно-ориентированное программирование
Группа: ИКПИ-02
Акименко Полина
Вариант 2
ЛАБОРАТОРНАЯ РАБОТА N 2
ОТНОШЕНИЕ ВКЛЮЧЕНИЯ
1. Постановка задачи
Разработать определения двух класса COne и CTwo, которые связаны отношением включения. Поля разрабатываемых классов считаются заданными и равны значениям из таблицы ниже:
Таблица 1 - Поля классов COne и CTwo
2. Исходный код
Файл COne.h:
#pragma once
#include <string>
class COne {
private:
int n;
std::string s;
public:
COne();
COne(int arg1, std::string arg2);
COne(const COne& arg);
COne& operator=(const COne& arg);
int get_n();
std::string get_s();
void set_n(int arg);
void set_s(std::string arg);
void print();
};
Файл COne.cpp:
#include <stdio.h>
#include <string>
#include "COne.h"
COne::COne() : n(0), s("default init") {}
COne::COne(int arg1, std::string arg2) : n(arg1), s(arg2) {}
COne::COne(const COne& arg) {
n = arg.n;
s = arg.s;
}
COne& COne:: operator=(const COne& arg) {
n = arg.n;
s = arg.s;
return *this;
}
int COne::get_n()
{
return n;
}
std::string COne::get_s()
{
return s;
}
void COne::set_n(int arg)
{
n = arg;
}
void COne::set_s(std::string arg)
{
s = arg;
}
void COne::print()
{
printf("n = %d; s = %s\n", n, s.c_str());
}
Файл CTwo.h:
#pragma once
#include "COne.h"
#include <stdlib.h>
class CTwo {
private:
long long int l;
COne obj;
public:
CTwo();
CTwo(long long int arg1, COne arg2);
CTwo(const CTwo& arg);
CTwo& operator=(const CTwo& arg);
long long int get_l();
COne get_obj();
void set_l(long long int arg);
void set_obj(COne arg);
void print();
};
Файл CTwo.cpp:
#include "CTwo.h"
CTwo::CTwo() : l(0) {}
CTwo::CTwo(long long int arg1, COne arg2) : l(arg1), obj(arg2) {}
CTwo::CTwo(const CTwo& arg) {
l = arg.l;
obj = arg.obj;
}
CTwo& CTwo::operator=(const CTwo& arg)
{
l = arg.l;
obj = arg.obj;
return *this;
}
long long int CTwo::get_l()
{
return l;
}
COne CTwo::get_obj()
{
return obj;
}
void CTwo::set_l(long long int arg)
{
l = arg;
}
void CTwo::set_obj(COne arg)
{
obj = arg;
}
void CTwo::print()
{
printf("l = %d; obj: ", l);
obj.print();
}
Файл main.cpp:
#include <stdio.h>
#include <string>
#include "COne.h"
#include "CTwo.h"
int main()
{
{
COne object1;
object1.print();
COne object2(6, "test");
COne object3(object2);
object3.print();
object3 = object1;
object3.print();
object2.set_n(object2.get_n() + 4);
object2.set_s(object2.get_s() + " number 2");
object2.print();
}
printf("\n");
{
CTwo object1;
object1.print();
COne arg(26, "arg test");
CTwo object2(16, arg);
CTwo object3(object2);
object3.print();
object3 = object1;
object3.print();
object2.set_l(object2.get_l() + 4);
COne arg2(object2.get_obj().get_n() + 4, "arg2 test");
object2.set_obj(arg2);
object2.print();
}
system("pause");
}
3. Скриншоты работы программы
Рисунок 1 - Результат работы программы