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;
}
#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;
}