[ Thomas Krog ]
> class Vector3{
> protected:
> float x;
> };
> class Color : public Vector3{
> float& r;
> public:
> Color() : r(x) {}
> };
Mnja, men dette vil heller opprette 3 _nye_ variable, som "er bundet"
til de respektive arvede variablene (fx. se på sizeof).
Om dette ikke er ønskelig, kan man prøve å gi adgang til variable via
metoder, og lage getR, getG og getB. Noe sånt:
class Vector3 {
float x, y, z;
protected: // kanskje public
float& getX(){ return x; }
float& getY(){ return y; }
float& getZ(){ return z; }
public:
Vector3( float x_, float y_, float z_ ) : x( x_ ),
y( y_ ),
z( z_ ){}
Vector3() : x( 0.0 ), y( 0.0 ), z( 0.0 ){}
};
class Color: public Vector3 {
public:
Color( float x, float y, float z ) : Vector3( x, y, z ){}
Color() : Vector3(){}
float& getR(){ return getX(); }
float& getG(){ return getY(); }
float& getB(){ return getZ(); }
};
(evt returnere en verdi eller en const reference).
ivr
--
Besides, meat tends to run away when possible, or fights. Either
response presents behavioral challenges too complex for any existing
robot.
-- Stuart Wilkinson, inventor of the "gastrobot"
|