
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