Ahoj, nechápu význam tříd, ale bohužel v učebnici "Programování v C++ za 21 dní", je to vyžadováno, já bych vše řešil jednoduššeji pomocí funkcí. Tak k věci. Tento program funguje normálně(FUNKCE):
#include <iostream>
float Deleni(float x,float y)
{
std::cout<<"Zadali jste tato cisla:"<<x<<" a "<<y<<"\n";
return(x/y);
}
int Soucet(int x,int y)
{
return(x+y);
}
int Rozdil(int x,int y)
{
return(x-y);
}
int Soucin(int x,int y)
{
return(x*y);
}
int main()
{
using std::cout;
using std::cin;
int a,b,d,e,f; //Deklarace promenych
float c; //Promenna s desetinnym cislem
cout<<"Vlozte 2 cisla\n";
cin>>a;
cin>>b;
c=Deleni(a,b); //volani funkce
cout<<"\nVysledek deleni je:\t"<<c<<"\n";
d=Soucet(a,b);
cout<<"\nVysledek souctu je:\t "<<d<<"\n";
e=Rozdil(a,b);
cout<<"\nVysledek odcitani je:\t "<<e<<"\n";
f=Soucin(a,b);
cout<<"\nVysledek soucinu je:\t "<<f<<"\n";
cout<<"\n Konec..\n";
cin.get();
cin.get();
return(0);
}
Tento pomocí tříd však hází chybu: [Linker error] undefined reference to `vypocet::vypocet(int, int)'
Zdroják je:
#include <iostream>
class vypocet
{
public:
vypocet(int x,int y);
~vypocet();
int soucin(int x,int y) const{return x*y;}
float podil(float x,float y) const{return x/y;}
int soucet(int x,int y)const{return x+y;}
int rozdil(int x,int y) const{return x-y;}
};
int main()
{
using std::cout;
using std::cin;
int a,b,d,e,f; //Deklarace promenych
float c; //Promenna s desetinnym cislem
vypocet vypocty(a,b);
cout<<"Vlozte 2 cisla\n";
cin>>a;
cin>>b;
cout<<"\nVysledek deleni je:\t"<<vypocty.podil(a,b)<<"\n";
cout<<"\nVysledek souctu je:\t "<<vypocty.soucet(a,b)<<"\n";
cout<<"\nVysledek odcitani je:\t "<<vypocty.rozdil(a,b)<<"\n";
cout<<"\nVysledek soucinu je:\t "<<vypocty.soucin(a,b)<<"\n";
cout<<"\n Konec..\n";
system("PAUSE");
return(0);
}
Nevíte pro mě nějakou radu jak si stím poradit?Díky mooooc.
Fórum › C / C++
Prosba o pomoc s třídami
#include <iostream>
class vypocet
{
public:
vypocet(int x,int y) {};
~vypocet() {};
int soucin(int x,int y) const{return x*y;}
float podil(float x,float y) const{return x/y;}
int soucet(int x,int y)const{return x+y;}
int rozdil(int x,int y) const{return x-y;}
};
int main()
{
using std::cout;
using std::cin;
int a,b,d,e,f; //Deklarace promenych
float c; //Promenna s desetinnym cislem
vypocet vypocty(a,b);
cout<<"Vlozte 2 cisla\n";
cin>>a;
cin>>b;
cout<<"\nVysledek deleni je:\t"<<vypocty.podil(a,b)<<"\n";
cout<<"\nVysledek souctu je:\t "<<vypocty.soucet(a,b)<<"\n";
cout<<"\nVysledek odcitani je:\t "<<vypocty.rozdil(a,b)<<"\n";
cout<<"\nVysledek soucinu je:\t "<<vypocty.soucin(a,b)<<"\n";
cout<<"\n Konec..\n";
system("PAUSE");
return(0);
}
chybali ti zatvorky - { }
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Prosba o pomoc — založil Smokie
Prosba o pomoc — založil Harryk
Prosba o pomoc se prací v Pythonu — založil Mmm
Prosba o pomoc se změnou databáze — založil Vasek
Manipulace se zapouzdřenými třídami — založil Lorin
Moderátoři diskuze