.
( )
-12 .. 10
(. ., )
. .
2012
10
1
-ۻ -: ; ; ; ; . : ua - ; - , . - Ż : ; ua-. -ۻ : , , ua-.
#include <iostream>
#include <conio.h>
Using namespace std;
//bazovii class AviaR
Class AviaR
{
friend void function(AviaR p[], int zB,char pN[])
{
if (zB==p->zena)
{
if (strcmp(p->punctNz,pN)==0)
{
P->Display();
cout<<"\n";
}
}
}
protected:
int num; //nomer reysa
char punctNz[25]; //punkt naznachenia
int zena; //zena bileta
char vremOtpr[15];//vrema otpravlenia
char vremPrb[10]; //vrema pribitia
public:
AviaR();
virtual ~ AviaR(){}
virtual void Display();//vivod dannih
};
AviaR::AviaR()
{ //
cout<<"\n : ";cin>>num;
cout<<"\n : "; cin>>punctNz;
cout<<"\n : "; cin>>zena;
cout<<"\n : "; cin>>vremOtpr;
cout<<"\n : "; cin>>vremPrb;
}
void AviaR::Display()
{
cout << "\n :" << num;
cout << "\n :" << punctNz;
cout << "\n :" << zena;
cout << "\n :"<< vremOtpr;
cout << "\n :" << vremPrb;
}
//proizv class AviaR_1 po strane
class AviaR_1: public AviaR
{
protected:
char dv[10]; //dni vileta
public:
AviaR_1();
virtual ~ AviaR_1(){}
virtual void Display(); //vivod dannih
};
AviaR_1::AviaR_1()
{
cout << "\n :"; cin >> dv;
}
void AviaR_1::Display()
{cout << "\n - : ";
cout << "\n : " << dv << " ";
cout << "\n :" << num;
cout << "\n :" << punctNz;
|
|
cout << "\n :" << zena;
cout << "\n :"<< vremOtpr;
cout << "\n :" << vremPrb;
}
// proizv class AviaR_2 mezgorod
class AviaR_2: public AviaR
{ protected:
char strana [25];
char datotpr[10];
char datprib[10];
public:
AviaR_2();
virtual ~ AviaR_2(){}
Virtual void Display();
};
AviaR_2::AviaR_2()
{
cout << "\n :"; cin>> strana;
cout << "\n : "; cin>> datotpr;
cout << "\n : "; cin>> datprib;
}
void AviaR_2::Display()
{ cout << "\n -: ";
cout << "\n : "<< strana << " ";
cout << "\n : " << datotpr << " ";
cout << "\n : " << datprib << " ";
cout << "\n :" << num;
cout << "\n :" << punctNz;
cout << "\n :" << zena;
cout << "\n :"<< vremOtpr;
cout << "\n :" << vremPrb;
}
Int main()
{ setlocale(0,"Rus");
int zb; char pN[25];
int nMenu, flag = 1, kol;
int i = 0;
AviaR* p[100];
cout <<"\n : ";cin >> kol;
while(i < kol && flag)
{
cout<<"\n . : "<< endl;
cout<<"1-- 2- - 3-\n";
cin >> nMenu;
Switch (nMenu)
{ case 1: p[i++] = new AviaR_1(); break;
case 2: p[i++] = new AviaR_2(); break;
default: flag = 0; break;
}
}
for (int id = 0; id < kol; id++)
{ p[id]->Display();
}
cout<<"\n\n :"; cin>>zb;
cout<<"\n\n :"; cin>>pN;
for (int id = 0; id < kol; id++)
{
function(p[id],zb,pN);
}
Getch();
}
:
2
λ : , , , . : , , λ, , .
#include <iostream>
#include <conio.h>
#include <string>
#include <stdio.h>
Using namespace std;
// objavlenie classa
Class Medican
{
private:
Double zena;
String pok;
String prpok;
public:
char nazv[20];
Medican();
Void Display();
};
Class Apteka
{
private:
char name[20];
Int num;
public:
Medican *p[20];
Int n;
Apteka();
void Poisk(char[]);
Void Display();
Void NewMed();
};
Apteka::Apteka()
{
cout<<"\n vvedite nazvanie apteki: ";cin>>name;
cout<<"\n vvedite nomer apteki: ";cin>>num;
|
|
cout<<"\n vvedite kol-vo lekarstv: ";cin>>n;
for (int i=0;i<n;i++)
p[i]=new Medican();
}
void Apteka::NewMed()
{
p[n++]=new Medican();
}
void Apteka::Poisk(char *Nazv)
{
for (int i=0;i<n;i++)
if(strcmp(p[i]->nazv,Nazv)==0)
{
cout<<"\n\n nazvanie apteki: "<<name;
cout<<"\n nomer apteki: "<<num;
p[i]->Display();
}
}
void Apteka::Display()
{
cout<<"\n\n NAZVANIE APTEKI: "<<name;
cout<<"\n NOMER APTEKI: "<<num;
for (int i=0;i<n;i++)
p[i]->Display();
}
Medican::Medican()
{
cout<<"\n vvedite nazvanie lekarstva: "; cin>>nazv;
cout<<"\n vvedite zenu: "; cin>>zena;
cout<<"\n vvedite pokazania k primeneniu: "; cin>>pok;
cout<<"\n vvedite protivopokazania k primeneniu: "; cin>>prpok;
}
void Medican::Display()
{
cout<<"\n\n nazvanie lekarstva: "<<nazv;
cout<<"\n zena: "<<zena<<" RUR";
cout<<"\n pokazania k primeneniu: "<<pok;
cout<<"\n protivopokazania k primeneniu: "<<prpok;
}
Int main()
{
int n,Menu,flag=1,NUMER;
Apteka *q;
char Nazv[20];
cout<<"\n kol-vo aptek:";cin>>n;
q=new Apteka [n];
While(flag)
{
cout<<"\n\n Nazmite:\n 1-Prosmotret' dannie 2-Poisk lekarstva 3-Dobavit' lekarstvo 4-Vihod \n";
cin >> Menu;
Switch (Menu)
{
case 1:for (int i=0;i<n;i++)
q[i].Display(); break;
case 2: {cout<<"\n\n poisk: \n";
cout<<"\n vvedite nazvanie lekarstva:";cin>>Nazv;
for (int i=0;i<n;i++)
q[i].Poisk(Nazv); break;}
case 3: {cout<<"\n vvedite nomer apteki, v kot. hotite dobavit' lekarstva:";cin >>NUMER;
q[NUMER-1].NewMed();break;}
default: flag=0; break;
}
}
Getch();
}
:
( 1)
5. ( ) ? ?
. , , . . .
, .
, . dynamic_cast
#include <iostream>
#include <conio.h>
class Mammal //
{ protected:
int itsAge; //
public:
Mammal():itsAge(1) {}
virtual ~Mammal(){}
virtual void Speak() const
{ std::cout << "Mammal speak!\n ";}
};
2. , .
, -, . .
: , , ( public, protected private, ).
|
|
.
, , , .
, .
.