: 22 listopada 2007, 23:30
Z mojej teżOk z mojej strony eot
Polski portal użytkowników dystrybucji Debian GNU/Linux, dyskusje, artykuły, nowości, blog, porady, pomoc.
https://593930.wb34atkl.asia/
Z mojej teżOk z mojej strony eot
klasa pochodna A powinna reprezentować falę piłokształtną a klasa pochodna B - falę prostokątnądawideo pisze: 1 pytanko o co chodzi z tą klasą pochodną B?? czy tam nie powinnien być "prostokąt" zamiast "prostokątna"??
Kod: Zaznacz cały
#include <iostream.h>
#include <conio.h>
#include <math.h>
// Klasa bazowa - Fala
class Fala
{
protected: //sekcja chroniona
double y_max, y_min, H_fal;
public: //sekcja publiczna
Fala() //Pierwszy konstruktor domyslny (0,0)
{
y_max=0;
y_min=0;
};
Fala (double yy_max, double yy_min):y_min(yy_min), y_max(yy_max) //drugi konstruktor
{
H_fal = y_max - y_min;
};
~Fala(){}; //destruktor
//Funkcje wirtualne
virtual void Wypisz();
//funkcje zaprzyjaźnione
friend Fala operator*(Fala, Fala);
friend Fala operator/(Fala, Fala);
};
//Klasa pochodna - Piła
class Pila:Fala
{
private: //sekcja prywatna
double y_max2, y_min2, H_pi;
public: //sekcja publiczna
Pila() //pierwszy konstruktos
{
y_max2 = y_max;
y_min2=y_min;
};
Pila(double yy_max,double yy_min):Fala(yy_max,yy_min) //drugi konstruktor
{
y_max2=2*y_max;
y_min2= (y_min/2);
H_pi= y_max2-y_min2;
};
~Pila(){}; //destruktor
//Funkcje wirtualne
virtual void Wypisz();
//Funkcje zaprzyjaźnione
friend Pila operator*(Pila, Pila);
friend Pila operator/(Pila, Pila);
};
//Klasa pochodna - Prostokąt
class Prostokat:Fala
{
private: //sekcja prywatna
double y_max2, y_min2, y_max3, y_min3, H_pr;
public: //sekcja publiczna
Prostokat()
{
y_max3 = y_max;
y_min3=y_min;
};
Prostokat (double yy_max, double yy_min):Fala(yy_max, yy_min) //drugi konstruktor
{
y_max3= 3*y_max;
y_min3= y_min/3;
H_pr=y_max3-y_min3;
};
~Prostokat(){}; //destruktor
//Funkcje wirtualne
virtual void Wypisz();
//Funkcje zaprzyjaźnione
friend Prostokat operator*(Prostokat, Prostokat);
friend Prostokat operator/(Prostokat, Prostokat);
};
//Przeładowanie '*' dla Fala
Fala operator*(Fala a, Fala b)
{
Fala nowy;
double nowa_H;
nowy=(a.H_fal)*(b.H_fal);
nowy.H_fal=nowa_H;
return nowy;
}
//Przeładowanie '/' dla Fala
Fala operator/(Fala a, Fala b)
{
Fala nowy;
double nowa_H;
nowa_H=(a.H_fal)*(b.H_fal);
nowy.H_fal=nowa_H;
return nowy;
}
//Przeładowanie '*' dla Pila
Pila operator*(Pila a, Pila b)
{
Pila nowy;
double nowa_H;
nowa_H=(a.H_pi)*(b.H_pi);
nowy.H_pi=nowa_H;
return nowy;
}
//Przeładowanie '/' dla Pila
Pila operator/(Pila a, Pila b)
{
Pila nowy;
double nowa_H;
nowa_H=(a.H_pi)/(b.H_pi);
nowy.H_pi=nowa_H;
return nowy;
}
//Przeładowanie '*' dla Prostokat
Prostokat operator*(Prostokat a, Prostokat b)
{
Prostokat nowy;
double nowa_H;
nowa_H=(a.H_pr)*(b.H_pr);
nowy.H_pr=nowa_H;
return nowy;
}
//Przeładowanie '/' dla Prostokąt
Prostokat operator/(Prostokat a, Prostokat b)
{
Prostokat nowy;
double nowa_H;
nowa_H=(a.H_pr)/(b.H_pr);
nowy.H_pr=nowa_H;
return nowy;
}
int main()
{
Fala A (4,4); //obiekty klasy Fala
Fala B (13,2);
Fala C;
Pila A2 (6,4); //obiekty klasy pila
Pila B2 (8,2);
Pila C2;
Prostokat A3 (9,9); //obiekty klasy prostokat
Prostokat B3 (9,9);
Prostokat C3;
A.Wypisz();
cout<<"\n" ;
B.Wypisz();
cout<<"\n";
C= A*B;
C.Wypisz();
cout<<"\n";
C= A/B;
C.Wypisz();
cout<<"\n";
A2.Wypisz();
cout<<"\n" ;
B2.Wypisz();
cout<<"\n";
C2= A2*B2;
C2.Wypisz();
cout<<"\n";
C2= A2/B2;
C2.Wypisz();
cout<<"\n";
A3.Wypisz();
cout<<"\n" ;
B3.Wypisz();
cout<<"\n";
C3= A3*B3;
C3.Wypisz();
cout<<"\n";
C3= A3/B3;
C3.Wypisz();
cout<<"\n";
getch();
return 0;
}
void Fala::Wypisz() //Funkcje wyswietlajace wyniki dla poszczegolnych klas
{
cout<<"Dane fali: ("<<y_max<<","<<y_min<<")"<<endl;
cout<<"Wysokosc fali:"<<H_fal<<endl;
}
void Pila::Wypisz()
{
cout<<"Dane pily: ("<<y_max2<<","<<y_min2<<")"<<endl;
cout<<"Wysokosc piły:"<<H_pi<<endl;
}
void Prostokat::Wypisz()
{
cout<<"Dane prostokatu: ("<<y_max3<<","<<y_min3<<")"<<endl;
cout<<"Wysokosc prostokątu:"<<H_pr<<endl;
}