ТА_Методички / Lec_9
.pdfvoid |
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
