[ fanfare @ 12.12.2009. 17:41 ] @
Pokušavam da kreiram zadani objekat gdje je jedan od parametara tipa char,ali mi nikako to neuspijeva.Ako neko može da mi pomogne,bio bih zahvalan. Evo samog zadatka: Definisati klasu Element koja predstavlja apstrakciju hemijskih elemenata. Svaki hemijski element opisan je simbolom (do 2 znaka), rednim brojem u periodnom sistemu elemenata i masenim brojem(približno jednako ukupnom broju protona i neutrona u jezgru atoma). Klasa Element treba da ima: a) konstruktor-podrazumijevano kreira element čiji je naziv „* “ ,a redni i maseni broj nula. Inače, element može da se inicijalizuje na osnovu podataka koje konstruktor može da primi kao argumente. b) funkciju članicu getSimbol- vraća simbol elementa. Za klasu Element treba preklopiti sljedeće operatore: a) operator << - na zadatom izlaznom mediju ispisuje simbol elementa. Omogućiti kaskadno pozivanje. b) operator () – vraća maseni broj elementa. Razdvojiti interfejs od implementacije,tj. Funkcije članice definisati izvan definicije klase. Evo kako sam ja to uradio: Code: #include <iostream> using namespace std; class Element { public: Element(); Element( char *, int , double); char getSimbol(); // vraca simbol Elementa friend ostream & operator<< ( ostream &izlaz, const Element &e );// ispisuje simbol Elementa double operator()(int i); // vraca maseni broj elementa ~Element(); private: char *simbol; int redni_broj; double maseni_broj; }; Element::Element() // podrazumijevano kreira element ciji je naziv { // "*" ,a redni i maseni broj nula. char *s; s="*"; simbol=new char[1]; strcpy(simbol,s); int rb=0; redni_broj=rb; double mb=0; maseni_broj=mb; } Element::Element( char *s, int rb, double mb) { simbol=new char[2]; strcpy(simbol,s); redni_broj=rb; maseni_broj=mb; } char Element :: getSimbol() { return (*simbol); } ostream & operator<<( ostream &izlaz , const Element &e) { izlaz << e.simbol; return izlaz; } double Element::operator()(int i) // za redni broj elementa u period.sistem.elem.vraca maseni broj { Element e; e.redni_broj=i; return e.maseni_broj; } Element::~Element() { delete[]simbol; } main() { Element a; cout << a << endl; Element b(H,2,1.01); cout << b; system("pause"); } A evo šta mi javlja kao grešku: In function `int main()': `H' undeclared (first use this function) |