Tak jak ponizej chcialem wywolac nowo utworzony obiekt klasy tym samym obiektem klasy. Chcialem sie tylko zapytac czy takie cos jest mozliwe ?
Kalkulator k;
k.wczytaj(Kalkulator k);
Tak jak ponizej chcialem wywolac nowo utworzony obiekt klasy tym samym obiektem klasy. Chcialem sie tylko zapytac czy takie cos jest mozliwe ?
Kalkulator k;
k.wczytaj(Kalkulator k);
Jest możliwe, dlaczego miałoby nie być?
Tyle że to głupie - przecież masz dostęp do tego obiektu przez this
.
To się nie skompiluje. To się skompiluje
k.wczytaj(k)
ale oczywiście sensu większego nie ma.
Czyli jak wiem tylko ze istnieje wsk this ale nigdy nie korzystalem
Biały Krawiec napisał(a):
Czyli jak wiem tylko ze istnieje wsk this ale nigdy nie korzystalem
A tak po polsku?
this
nie jest wskaźnikiem (w sumie nie wiem już :D)
Jak chcialem zrobic
Kalkulator k;
k.wczytaj(k);
To napisaliscie ze to "Tyle że to głupie - przecież masz dostęp do tego obiektu przez this" czyli jak za pomoca tego "this" to zrobic?
Ty nawet nie pamietasz co pisales ;o nie pisales
Kalkulator k;
k.wczytaj(k);
tylko
Kalkulator k;
k.wczytaj(Kalkulator k);
co nawet by sie nie skompilowalo...
a jak sie uzywa this to poczytaj tutaj
bo na pewno probujesz cos robic sposobem ktory nie potrzebujesz.
Wybitny Orzeł napisał(a):
Jak chcialem zrobic
Kalkulator k;
k.wczytaj(k);
To napisaliscie ze to "Tyle że to głupie - przecież masz dostęp do tego obiektu przez this" czyli jak za pomoca tego "this" to zrobic?
Ładujesz klasę jako parametr metody klasy, więc zamierzasz jej w tej metodzie użyć. Ale po co tą klasę przekazywać skoro wywołujesz metodę tejże właśnie klasy i masz w niej swobodny dostęp do pozostałych elementów klasy?? :P
Dziekuje wszystkim juz mam :)
Chodzilo mi ze w metodzie wczytaj () bede sie poslugiwal innymi metodami z tej klasy .Czyli za pomoca jednej metody druga beede wywolywac co jest we wnetrzu tej samej klasy . Kompilator caly czas mi wywala wlasnie blad ze probuje wywolac metode w "metodzie" na rzecz zadnego obiektu. Dlatego myslalem zeby wyslac nowo utworzony obiekt klasy k . Teraz mimo wszystko juz sam nie wiem jak to powinienem zrobic.
#include <iostream>
using namespace std;
struct Foo
{
void bar() { cout << "fooobar\n"; }
void wczytaj()
{
bar();
}
};
int main()
{
Foo k;
k.wczytaj();
return 0;
}