Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Titulnyy_list_otcheta_C++.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
306.18 Кб
Скачать

Московский авиационный институт

(национальный исследовательский университет)

Факультет прикладной математики и физики

Кафедра вычислительной математики и программирования

Лабораторные работы 1 — 8 по курсу сппо:

основы программирования на языке С++

(__________Волков В.А. в1_________)

Основная папка:

1.АГРЕГАЦИЯ ПО ССЫЛКЕ (lab1.cpp, lab1.exe______________)

имена файлов

2.АГРЕГАЦИЯ ПО ЗНАЧЕНИЮ И ВЛОЖЕНИЕМ (lab1_vlog.cpp,lab1_znach.cpp,*.exe)

3.ПРИНЦИП ПОДСТАНОВКИ (lab2_podst.cpp, lab2_podst.exe___)

4.НАСЛЕДОВАНИЕ: РАСШИРЕНИЕ, СПЕЦИФИКАЦИЯ, СПЕЦИАЛИЗАЦИЯ, КОНСТРУИРОВАНИЕ, КОМБИНИРОВАНИЕ (lab2_nasl.cpp, lab2_comb.cpp,*.exe)

5.НАСЛЕДОВАНИЕ: КОМБИНИРОВАНИЕ ЧЕРЕЗ ОБЩИХ ПРЕДКОВ (lab2_commnasl.cpp, *.exe________)

6.АССОЦИАЦИЯ (lab3.cpp,lab3_1-n.cpp, *.exe______)

7.ИСПОЛЬЗОВАНИЕ (lab4.cpp,lab4_obsh.cpp,*.exe_____)

8.КОНКРЕТИЗАЦИЯ (lab5_funk.cpp,lab5_class.cpp,*.exe_)

Работу выполнил:

08-202 Волков В ________ ________

Группа ФИО: Подпись Вариант

Руководитель: ________/Семенов А.С./

Подпись:

1.Агрегация по ссылке (lab1.Cpp, lab1.Exe______________)

имена файлов

2.Агрегация по значению и вложением (lab1_vlog.Cpp,lab1_znach.Cpp,*.Exe)

3.ПРИНЦИП ПОДСТАНОВКИ (lab2_podst.cpp, lab2_podst.exe___)

4.НАСЛЕДОВАНИЕ: РАСШИРЕНИЕ, СПЕЦИФИКАЦИЯ, СПЕЦИАЛИЗАЦИЯ, КОНСТРУИРОВАНИЕ, КОМБИНИРОВАНИЕ (lab2_nasl.cpp, lab2_comb.cpp,*.exe)

5.НАСЛЕДОВАНИЕ: КОМБИНИРОВАНИЕ ЧЕРЕЗ ОБЩИХ ПРЕДКОВ (lab2_commnasl.cpp, *.exe________)

6.АССОЦИАЦИЯ (lab3.cpp,lab3_1-n.cpp, *.exe______)

7.ИСПОЛЬЗОВАНИЕ (lab4.cpp,lab4_obsh.cpp,*.exe_____)

8.КОНКРЕТИЗАЦИЯ (lab5_funk.cpp,lab5_class.cpp,*.exe_)

1.Агрегация по ссылке

R has-a

R has-a

R has-a

R has-a

R has-a

// lab1.cpp: определяет точку входа для консольного приложения.

#include "stdafx.h"

#include "conio.h"

#include <iostream>

using namespace std;

class E {

public:

E() {e = 0;}

int e;

void me() {

e += 1;

cout<<"e = " << e << endl;

};

};

class F {

public:

F() {f = 0;}

int f;

void mf() {

int f = 0;

f += 1;

cout<<"f = " << f << endl;

};

};

class D {

public:

D() {int d = 0;};

void md() {

int d=0;

d += 1;

cout <<"d = "<< d << endl;

};

};

class B {

private:

D *d;

public:

B() {}//конструктор, без параметров

void link (D &d) { this -> d = &d;}

D *mbd() {return d;}

};

class C {

private:

E *e;

F *f;

public:

C() {}

void link (E &e) { this->e = &e;}

E *mce() {return e;}

void link (F &f) { this->f = &f;}

F *mcf() {return f;}

};

class A {

public:

A() {}

void link (B &b) { this -> b = &b;}//B &b указатель

void link (C &c) { this -> c = &c;}

C *mac() { return c;}

B *mab() { return b;}

private:

B *b;

C *c;

};

int main() {

A a;B b;C c;D d;E e;F f;

a.link(b);a.link(c);

b.link(d);

c.link(e);c.link(f);

a.mab() -> mbd() -> md();

a.mac() -> mce() -> me();

a.mac() -> mcf() -> mf();

_getche();

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]