Qt co oznacza "->"

0

Witam,
mam pytanie, co w Qt oznacza taki zapis:

ui->setupUi(this);

nie spotkałem się z nim w c++ ( przerabiałem kurs Pana Mirosława Zelent ). Wiem pytanie banalne, ale zeby zacząć zadawać trudniejsze muszę zacząć od zera : D

Z góry dziękuję : )

0

Tu eksperta od Qt trzeba. Wołam @kq.

6

Nie ironizuj pingwin.

Zapraszam do dowolnego dobrego kursu (niestety, raczej źle trafiłeś). -> to operator dostępu do członka klasy, Twój zapis jest równoznaczny z (*ui).setupUi(this)

0

Dziękuję : ) dlaczego źle trafiłem ? (fakt że nie rozumiem co napisałeś, ale już jestem bliżej zrozumienia niż 30 min temu : D ) :( czy jest jakiś kurs który płynnie przechodzi od c++ do qt ?

4

To nie jest zapis jakiś specjalny dla Qt. Po prostu za mało znasz C++.

0

Dlaczego nie Zelent? http://4programmers.net/Forum/1226486

0

Dobra, myślę że to dobry czas by zakupić książka Symfonia c++, ma bardzo dobre opinie w internecie, tylko ofert pracy jako programista c++ jest mało, czy po przerobieniu tej książki łatwo jest się przenieść na np. java? Mam bardzo duży dylemat jaki język wybrać, ponieważ co ogłoszenie o prace to inny język programowania i przez dwa miesiące będę się uczył podstaw c++ , a później się okaże że i tak pracy po tym nie ma : (

0

C++ teraz jest używany głównie w grach AAA - np. w silniku Unreal.

Jednakże ogrom softu wytwarza się obecnie w Javie i C#.

W czymkolwiek nauczysz się programować, w innych językach myślenie jest takie samo. Jedynie zapis się zmienia ;) Ale po nauczeniu się jednego języka i obsługi jego biblioteki standardowej, wiesz czego szukać w innych językach.

Załóżmy, że spodobał Ci się vector w C++. Szukasz "c++ vector java" i pierwsze co Ci wyskakuje, to "użyj ArrayList" ze stackoverflow :)

0

Ok tak zrobię : ) c# wywodzi się z c++ tak?
Symfonia c++ 3 c to najnowsze wydanie? Tak jest na allegro ale nie wiem czy można ufać sprzedawcą : D

0

Nie, C# nie wywodzi się od C++. Jednak podstawy są bardzo podobne we wszystkich 3 wymienionych w wątku językach.

0

symfonia nie jest dobra ksiazka do C++

Na dobra sprawe nie ma dobrej polskiej ksiazki do C++

0

A prawie wszyscy ja polecają : d

4
Wybitny Samiec napisał(a):

A prawie wszyscy ja polecają : d

Kto? Uczniowie, którzy nie mają styczności z prawdziwym kodem czy nauczyciele, którzy nie mają styczności z prawdziwym kodem?

2

Symfonia była kiedyś dobra. Kiedyś. Z 10 lat temu może sam bym ci ją polecił. Ale mamy rok 2016 a nie 2006 a książka się nie zmieniła...

0

Hmm to jaką książkę kupić ? do podstaw c++

1

Jak wygooglujesz coś dobrego to daj znać, bo ja jeszcze nic nie widziałem. Najbliżej jest chyba Prata wersja 6, ale to też nie ideał.

0

Wiem mniej niż wiedziałem, a po przeczytaniu jakiegoś tematu na tym forum w którym zdecydowanie odradzana była nauka c++ zastanawiam się czy nie zmienić języka na np. java - ciekaw jestem czy tutaj jest jakaś książka polecana po polsku : )

1

@kq: Operator wyłuskania to "*".
Wskazany tutaj operator "o->p" ma różne nazwy, ale to odwołanie się do pola struktury/obiektu.

Jest to inaczej niż w języku angielskim.
"*": pol: operator wyłuskania, ang: indirection ("wskazanie pośrednie")
"->": pol: odwołanie/wybór pola z obiektu/struktury, ang: "structure dereference" (wiki), "member of pointer" (cppreference)

Źródła:
http://en.cppreference.com/w/cpp/language/operator_member_access#Built-in_member_access_operators
https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Member_and_pointer_operators
https://pl.wikipedia.org/wiki/Operator_%28programowanie%29

Edit: dodatkowo - K&R tego specjalnie nie nazywa (ja przynajmniej nie znalazłem),
za to w polskim "Język C++ Kompendium Wiedzy" jest dodatkowo do tego co wyżej "*" - "dereferencja".

0
Wybitny Samiec napisał(a):

Wiem mniej niż wiedziałem, a po przeczytaniu jakiegoś tematu na tym forum w którym zdecydowanie odradzana była nauka c++ zastanawiam się czy nie zmienić języka na np. java - ciekaw jestem czy tutaj jest jakaś książka polecana po polsku : )

Ja zacząłem od C++ a później bardzo łatwo uczyło mi się Javy. Syntaktycznie są dość podobne. A co do książek to polecam tą: Java: The Complete Reference wydanie IX. Jest też po polsku.

1
Wybitny Samiec napisał(a):

Witam,
mam pytanie, co w Qt oznacza taki zapis:

ui->setupUi(this);

nie spotkałem się z nim w c++ ( przerabiałem kurs Pana Mirosława Zelent ). Wiem pytanie banalne, ale zeby zacząć zadawać trudniejsze muszę zacząć od zera : D

Z góry dziękuję : )

Chodzi o to by ładnie połączyć twój kod z kodem generowanym automatycznie.
Wyklinałeś jakieś okno, które jest zapisanie w postaci xml-a. Teraz podczas budowania Qt na pdostawie tego generuje kod C++ , który utworzy okienko takie jak wyklinałeś.
Ponieważ kodu generowanego nie należy modyfikować ręcznie, a musi on być jakoś połączony z twoim kodem, całość wygenerowanej logiki ukrywa się za wskaźnikiem ui.
Do setup musisz przekazać this bo ta wygenerowana funkcja musi wiedzieć, gdzie (w jakim MainWindow) umieścić te elementy UI.

1 użytkowników online, w tym zalogowanych: 0, gości: 1