Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программы_Прокофьева.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
54.27 Кб
Скачать

Void main()

{

Simple A; //Создание экземпляра

}

//р7_exmp3_13.cpp

//Прокофьева Д.С. группа 3270

//Перегрузка операции "+" на "-"

#include<iostream>

using namespace std;

//Класс, в котором переопределяется операция "+"

class Number

{

private:

int a;

public:

Number(int b=1):a(b) {}

int read_a() {return a;}

void out_a() {cout<<"a="<<a<<"\n";}

//Переопределение операции "+"

Number operator+(Number);

//Переопределение операции присвоение

Number&operator=(Number&);

};

Number Number::operator+(Number x)

{

Number B;

B.a=a-x.read_a();

return B;

}

//Перезрузка присваения

Number&Number::operator=(Number&x)

{

a=x.read_a();

return *this;

}

Void main()

{

Number a(2),b(3),c;

c=a+b;

c.out_a();

}

// p7_exmp3_14.cpp: главный файл проекта.

//Прокофьева Д.С. группа 3270

//Консольное приложение со структурой ссылочного типа

#include "stdafx.h"

using namespace System;

//Структура ссылочного типа

ref struct Message {

System::String ^sender, ^receiver, ^data;

};

int main(array<System::String ^>^ args)

{Message ^M=gcnew Message; //Выделение памяти под объект

M->sender="The message to all";

M->data="23.11.2012";

//Вывод на консоль

Console::WriteLine(M->sender);

Console::WriteLine(M->data);

return 0;

}

// p7_exmp3_16.cpp.cpp: главный файл проекта.

#include "stdafx.h"

#include "Form1.h"

using namespace p7_exmp3_16cpp;

[STAThreadAttribute]

int main(array<System::String ^> ^args)

{

// Включение визуальных эффектов Windows XP до создания каких-либо элементов управления

Application::EnableVisualStyles();

Application::SetCompatibleTextRenderingDefault(false);

// Создание главного окна и его запуск

Application::Run(gcnew Form1());

return 0;

}

//р7_exmp3_17.cpp

//Прокофьева Д.С. группа 3270

//Дружественная функция friend

#include <iostream>

using namespace std;

class First

{ private:

int a;

double b;

public:

void set_a(){cout<<"a=", cin>>a;} //Встроенный метод

void set_b(){cout<<"b=", cin>>b;}

// Дружественная функци

friend void prvt(First&, int&, double&);

};

class Second

{

private:

int x;

double y;

public:

void set_xy()

{

First B;

B.set_a();

B.set_b();

prvt(B,x,y);

}

void out_xy()

{

cout<<"x="<<x<<"\n";

cout<<"y="<<y<<"\n";

}

};

void prvt(First &A, int&, double& V)

{ V=A.a;

V=A.b;

}

Void main()

{

Second C;

cout<<"Input \n";

C.set_xy();

cout<<"Output \n";

C.out_xy();

}

//р7_exmp3_18.cpp

//Прокофьева Д.С. группа 3270

//Шаблон функции

#include <iostream> //Библиотека классов

using namespace std;

template <class Shah>

void view (Shah *array, int size)

{

for (int i=0; i<size; i++)

cout <<array[i]<<'\t';

cout <<'\n';

}

#define Shah int

Void main()

{

int ia[]={1,2,3,4,5};

cout <<"\n Output\n";

view(ia,sizeof(ia)/sizeof(int));

}

//р7_exmp3_19.cpp

//Прокофьева Д.С. группа 3270

//Шаблон класса

# include <iostream>

using namespace std;

//Объявление класса с шаблонами

template <class T> //Параметризованный тип

class List

{

private:

int len;

T*list;

public:

List (int n):len(n) {list =new T[len];}

~List () {delete[]list;}

void in_T();

void out_T();

};

//Метод ввода массива

template <class T>

void List <T>::in_T()

{

for(int i=0;i<len;i++)

cin>>list[i];

}

template <class T>

void List <T> :: out_T()

{

for (int i=0;i<len;i++)

cout<<list[i]<<"\t";

cout<<"\n";

}

//Функция main

# define T char