Operator overloading - Class Objects as Members
-
Ich habe ein kleinen Problem...
class Oligopoly {
private:friend istream& operator>>(istream&, Vtr&); //input operator
friend ostream& operator<<(ostream&, const Vtr&);
// output operatorint dimension;
Vtr y;
Vtr x;
Vtr alpha;
Vtr beta;
Vtr kappa;
double A;
double epsilon;
double mu;... bla, bla, bla
};istream& operator>>(istream& is , Oligopoly& Ol){
cout<<"\nVector alpha\n";
is>>Ol.alpha;
... // bla bla bla
return is;
}Vtr(vector class) ist ein Klass, das funzioniert.
Der Compiler sagt mir, dass ich Ol.alpha nicht benutzen kann, weil alpha private ist...ich verstehe gar nicht, weil ich operator>> as friend deklariert habe.
Koennte jemand mir helfen?
-
Du hast aber einen anderen operator als friend deklariert als den, den Du unten definierst. Schau mal auf die Signaturen (Parameterliste).
-
Vielen Dank...ich hatte die Parameterliste nicht geschaut. Seit gestern Abend denke ich darueber nach.