/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Aliasing fields...
Fra : Mads Andersen


Dato : 25-09-01 17:42

Jeg har en Vector3 klasse (som kendt fra lineær algebra), som jeg nedarver
fra i en Color klasse.

Vector3 har tre felter x, y og z. I Color vil jeg gerne tilgå disse som r, g
og b.

Jeg så engang det gjort i C++, men kan ikke lige regne den ud nu? Nogen der
kan hjælpe?

Mvh. Madsie



 
 
Thomas Krog (25-09-2001)
Kommentar
Fra : Thomas Krog


Dato : 25-09-01 18:12

class Vector3{
protected:
float x;
};
class Color : public Vector3{
float& r;
public:
Color() : r(x) {}
};




Igor V. Rafienko (25-09-2001)
Kommentar
Fra : Igor V. Rafienko


Dato : 25-09-01 19:02

[ 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"

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste