Postovani majstori i genijalci iam nekakvih nedoumica u vezi obicnih klasa u C++-u:
Radi se o "friend" klasi koja bi treba obaviti obicnu matematicku operaciju:
#include <iostream>
#include<math.h>
using namespace std;
class strelok {
int width, height;
public:
void set_values (int, int);
int vrati_vriednost () {return (width * height);}
friend strelok prijatelj_fun (strelok);
};
void strelok::set_values (int a, int b) {
width = a;
height = b;
}
strelok prijatelj_fun (strelok varijabla)
{
strelok varijabla2;
varijabla2.width = varijabla.width*2;//Tu sam probao: varijabla2.with= pow((varijabla.with),2);
varijabla2.height = varijabla.height*2;//Takodjer: varijabla2.height= pow((varijabla.height),2);
//Kompajler veli error C2661: 'pow' : no overloaded function takes 1 arguments. Sta sad to znaci?
return (varijabla2);
}
int main () {
int br1, br2;
strelok rect, rectb;
cout<<"unesi prvi broj: ";
cin>>br1;
cout<<"\nUnesi drugi broj: ";
cin>>br2;
rect.set_values (br1,br2);
cout<<"\nUmnozak broja "<<br1<<"* "<<br2<<"= "<<rect.vrati_vriednost()<<endl;
rectb = prijatelj_fun (rect);
cout << "\nUmnozak njihovog kvadrata je: "<<rectb.vrati_vriednost()<<endl;
return 0;
}
Obicni pow radi:
int a, x=5;
a=pow(x,2);
E sad nikako da skuzim kako da vratim objektu "rectb" pravu vrijednost funkcije "pow()".Tu bih molio pomoć od vas.
e da i jos nesto:
strelok prijatelj_fun (strelok varijabla)//dali je "varijabla" objekt tipa klase "strelok" ili je to varijabla tipa klase "strelok"??
{
strelok varijabla2;
varijabla2.width = varijabla.width*2;
varijabla2.height = varijabla.height*2;
return (varijabla2);
}