[ Fidelito_Castro @ 07.04.2008. 23:25 ] @
Zanima me da li moze funkciji da se pozove funkcija po adresi(call by address) kada je u pitanju objekat neke klase. Na primer: probao sam da prosledim objekat klase string,po vrednosti i po referenci.I to funkcionise bez problema. Medjutim kada sam pokusao da prosledim objekat klase string po adresi,prevodioc ne prijavljuje gresku ali ipak tu nesto ne stima. Evo koda: Code: #include <cstdlib> #include <iostream> #include <string> using namespace std; void Zameni(string*, string*); int main(int argc, char *argv[]) { string linija, red; //Unos podataka sa tastature cout<<"Unesite prvi red: "; getline(cin, linija); cout<<"Unesite drugi red: "; getline(cin, red); //Pre zamene objekata klase string cout<<"Pre zamene!!!"<<endl; cout<<"-------------"<<endl; cout<<"Linija : "<<linija<<endl; cout<<"Red : "<<red<<endl; //Po vrednosti OK!!! //Po referenci OK!!! //Poziv funkcije po adresi ????? Zameni(&linija, &red); //Nakon zamene objekata klase string cout<<endl; cout<<"Nakon zamene!!!"<<endl; cout<<"---------------"<<endl; cout<<"Linija: "<<linija<<endl; cout<<"Red : "<<red<<endl; cout<<endl; system("PAUSE"); return EXIT_SUCCESS; } //Definicija funkcije za zamenu objekata klase string void Zameni (string* tekst1, string* tekst2) { string* temp; *temp = *tekst1; *tekst1 = *tekst2; *tekst2 = *tekst1; return; } |