Odwolywanie sie poprzez metody do skladowych nie bedacych w danej klasie
Ostatnio zmodyfikowano 2012-11-21 17:36
diego997 Temat założony przez niniejszego użytkownika |
Odwolywanie sie poprzez metody do skladowych nie bedacych w danej klasie » 2012-11-21 15:16:57 Moglibyscie mi napisac jak zrealizowac cos takiego: Obiekt ObiektA; ObiektA.getPosition().x;
Ale chcialbym zeby to dzialalo w taki sposob: Obiekt ObiektA; ObiektA.
ObiektA.getPosition().
CHcialbym miedzy innymi wiedziec jak to moglo zostac zrealizowane w sfmlu, a niestety nie wiem jak zobaczyc definicje metod. |
|
m4tx |
» 2012-11-21 15:36:40 Zrób sobie strukturę ze zmienną x i zwracaj obiekt tej struktury przez getPosition() :) |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-11-21 16:59:30 Tylko ze jak tak zrobie to mozliwa bedzie taka operacja A ja wlasnie tego nie chce ;p Da sie to jakos inaczej zrobic ? |
|
DejaVu |
» 2012-11-21 17:03:43 Nie sądzę abyś poprawnie opisał swój problem. Jeżeli widzisz zmienną 'x' poprzez intellisense to znaczy, że jest ona zadeklarowana bezpośrednio w klasie.
/edit: Poza tym w źródłach SFML 2.0 nie istnieje przypadek, który opisałeś (a przynajmniej go nie widzę). |
|
m4tx |
» 2012-11-21 17:05:45 Tylko ze jak tak zrobie to mozliwa bedzie taka operacja |
Na pewno? :) #include <iostream>
struct Urwal { float x, y; };
class Dobre { public: Urwal getPosition() { Urwal urwal; urwal.x = 1; urwal.y = 1; return urwal; } };
int main() { Dobre dobre; std::cout << dobre.getPosition().x << std::endl; return 0; } m4tx@m4tx-EP35-DS4:~/Pulpit$ g++ -o urwal urwal.cpp m4tx@m4tx-EP35-DS4:~/Pulpit$ ./urwal 1 |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-11-21 17:17:52 @m4tx no ale w takim przypadku nie zapisuje sie nigdzie wartosc x ;p
@Dejavu
Teraz wyszukalem cos takiego jak sf::RectangleShape::m_position, ty lepiej wiesz czy to ma jakies powiazanie z tym o czym pisalem ;p ? |
|
m4tx |
» 2012-11-21 17:19:26 @m4tx no ale w takim przypadku nie zapisuje sie nigdzie wartosc x ;p |
No jak nie jak tak, przecież mój kod dobitnie pokazuje, że zapisuje się... |
|
DejaVu |
» 2012-11-21 17:22:58 Hm... no to przeczytałem jeszcze raz Twój pierwszy post :P class RectangleShape : public Shape { public: const Vector2f & getSize() const; private: Vector2f m_size; };
const Vector2f & RectangleShape::getSize() const { return m_size; }
|
|
« 1 » 2 |