Witam wszystkich mam o to taki problem na zadanie z programowania musimy napisać program na klasach z zdefiniowanymi konstruktorami i destruktorami w którym mamy przeliczać wartość
np. z Pascala na
milimetry słupa rtęci (x0.0075006)
atmosfery fizyczna (x0.0000099)
atmosfery techniczna (x*0.0000102)
tego oczywiście jest dalej cała masa ale chodzi mi tylko o sam przykład że by potem wiedzieć w która stronę się kierować.
#include <iostream>
using namespace std;
class CPascal
{
private:
double pas;
public:
CPascal ()
{
cout<<" Konstruktor zostal wywolany \n\n";
}
~CPascal()
{
cout<<" Destruktor wykonal zwoje zadanie \n";
}
double sluprteci();
};
int main()
{
double wynik;
CPascal* obliczenie1 = new CPascal;
wynik=obliczenie1->sluprteci();
cout<<"Wynik to: "<<wynik<<"mmHG"<<endl;
delete obliczenie1;
cout<<"\n\n\n";
system("PAUSE");
return 0;
}
double CPascal::sluprteci()
{
cout<<"Podaj wartosc Pascali: "; cin>>pas;
pas=pas*0.0075006;
return pas;
}
I tutaj jest moje pytanie czy mogę to jakoś inaczej zapisać z wykorzystaniem właśnie konstruktora czy też destruktora w jakiś znaczący sposób nie wiem załóżmy jakieś obliczenia w nim wykonać. Potem zresztą i tak to wszystko powrzucam do case, menu wyboru itp.
ps: I jeszcze jedno pytanie czy da się jakoś obliczyć wartość atmosfery fizycznej tak ze by mi w wyniku nie wychodziły e+ i tam reszta wyniku tylko poprawna wartość ? ( z tego co pamiętam double ma możliwość operowania na liczbach 15 miejsc po przecinku tak ze nie wiem w czym tkwi problem.
Z góry dzięki za pomoc.