to chyba mowisz o zawieraniu a nie dziedziczeniu :p i uzywasz akcesorow, co jest najlepszym rozwiązaniem.... ale coś dalej mi nie gra :p powinieneś mieć to tak:
class A
{
public:
void setY(double _y) {mY = _y;};
protected:
double mY;
}
class B
{
public:
void doSmth() {mA.setY(1.0f);};
private:
A mA;
}
albo dziedziczeniem:
class C : public A
{
public:
void doSmth() {mY = 1.0f;};
};
//edit:
a odnoscie Twojego akcesora - nie mozesz miec w funkcji deklaracji zmiennej, bo to wtedy jest to zmienna lokalna i nei modyfikujesz skladowej klasy, tylko zmienna lokalna, ktora po wyjsciu pzoa zakres(wyjscie z metody) zostanie zniszczona. :]