Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
12.02.2016
Размер:
521.58 Кб
Скачать

void

vvid_vuvid(float A, float B, float C)

/* Функція вводу */

{

 

 

a=A;

 

 

b=B;

 

 

c=C;

 

 

}

 

 

}

()

 

main

 

{

 

 

clrscr();

 

float x, y, z;

 

three_d t[4];

 

cout

<< "Bude vvedeno koordynaty 4-oh tochok \n";

 

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

{

cout<<"vvedit' koordunaty " <<i+1<<" - oi tochky \n"; cout<<"\n";

cin>>x >>y >>z;

t[i].vvid_vuvid(x,y,z); /* “Присвоєння” введених значень членам класу */

}

cout<<"*****rezultat*****"; cout<<"\n"; for(i=0;i<4;i++)

31/38

{

t[i].vvid_vuvid(); /* Оператор “.” вказує, що до членів класу ми звертаємося зовні */

cout<<"\n";

}

getch(); //return 0;

}

Bude vvedeno koordynaty 4-oh tochok vvedit' koordunaty 1 - oi tochky

1

2

3

vvedit' koordunaty 2 - oi tochky 4 5 6

vvedit' koordunaty 3 - oi tochky 2 4 7

vvedit' koordunaty 4 - oi tochky

32/38

3

5

8

*****rezultat*****

1,2,3

4,5,6

2,4,7

3,5,8

Наступний приклад демонструє введення даних – номер школи (number), вулиця (address[15]), кількість класних кімнат (classes) з використанням функції користувача, яка описується зовні класу (оператор :: визначає область видимості для функції school – вона належить класу school. Члени класу виводяться на друк стандартною функцією виводу cout.

#include<iostream.h>

#include<conio.h>

class school

{

public:

int number;

char address[15];

33/38

int classes; public:

school(int b, char a[15], int c); };

school::school(int b, char a[15], int c)

{

for (int i=0;i<15;i++) adress[i]=a[i]; number=b;

classes=c;

};

int main()

{

clrscr(); char f[15]; int q,w;

z:cout <<"enter dani: No shkoly, vulycyu, kilk. klasiv"<<"\n"; cin >> q>> f>> w;

class school zapys(q,f,w); clrscr();

cout<<"No:" << zapys.number<<"-" <<zapys.adress << "-"<< zapys.classes<<"\n";

34/38

cout<<"Zakinchyty - natysnit' 1 , povtoryty shche raz natysnit' 0\n";

int r; cin>>r;

if (r) cout<<"kinec"; else goto z;

getch (); return 0;

}

Результат виконання:

enter dani: No shkoly, vulycyu, kilk. klasiv 45

Naukova 35

No:45-Naukova-35

Zakinchyty - natysnit' 1 , povtoryty shche raz natysnit' 0 1

kinec

35/38

Нижченаведений приклад ілюструє використання операторів вводу-виводу для типу, заданого користувачем. Елементи класу, які виводяться оператором cout, фігурують, як окремі об’єкти. При цьому використано перевантаження операторів “<<” і “>>”.

#include <string.h> #include <iostream.h> #include <conio.h> class Auto

{

char name[50]; char country[50]; int year;

public:

Auto():

year(0)

{

strcpy(name, ""); strcpy(country, "");

}

Auto(char *new_name, char *new_country, int new_year): year(new_year)

{

strcpy(name, new_name);

36/38

strcpy(country, new_country);

}

void SetAutoInfo(char *new_name, char *new_country, int new_year)

{

strcpy(name, new_name); strcpy(country, new_country); year = new_year;

}

friend ostream& operator<<(ostream&, Auto&);

};

ostream& operator<<(ostream& os, Auto& car)

{

os << car.name << ":" << " - " << car.country << " - " << car.year << endl;

return os;

}

/* */

void main()

{

Auto a1("BMW", "Germany", 2001), a2("Volvo", "Sweden", 2002), a3("Peguot", "France", 2003), a4("Citroen", "France", 1999), a5;

37/38

a5.SetAutoInfo("KAMAZ", "Russia", 2000); clrscr ();

cout << a1 << a2 << a3 << a4 << a5; getch();

}

Результат:

BMW: - Germany - 2001

Volvo: - Sweden - 2002

Peguot: - France - 2003

Citroen: - France - 1999

KAMAZ: - Russia - 2000

38/38

Соседние файлы в папке ТА_Методички