.


:




:

































 

 

 

 


Virtual void Speak() const




.

( )

 

 

 

-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, ).

.

, , , .

, .

.

 





:


: 2016-10-22; !; : 330 |


:

:

, , 1:10
==> ...

1658 - | 1584 -


© 2015-2024 lektsii.org - -

: 0.079 .