@trebeter: programuję w Qt pod Cpp i bardzo chciałbym ci pomóc bo widzę, że już 20 minut czekasz na odpowiedź i jeszcze się postarałeś i narysowałeś coś w paincie ale... opis sytuacji jest bardzo niegramatyczny. :P Co rozumiesz pod pojęciem "skrót"? Co rozumiesz przez "jedynie" - teraz ci się wyświetla w dwu miejscach czy o co chodzi? Podaj normalne nazwy kontrolek np. czy jedynka to jest QComboBox czy jakieś QGroupBox
  • Odpowiedz
@trebeter: połącz "2" z "3" - nazywa się to QTabWidget. Do slotu indexChanged w QComboBox (to będzie twoja lista "1") dodaj funkcję w rodzaju: "dodaj nowy tab do tabWidget chyba, że tab o danej zawartości już istnieje - wtedy przełącz go jako aktywny." i tyle. Nie twórz GUI na żywca póki nie musisz.
  • Odpowiedz
W skrócie przekazuje do funkcji wylosowaną tablicę 2d. Ona tam wybiera liczby podzielne przez 6, zapisuje je do osobnej tablicy, zwraca tablice, potem sortuje i zapisuje do pliku. Program przestaje działać za każdym razem. O co chodzi?
http://pastebin.com/uZPe0LCn
#programowanie #cpp
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, czytałem ale nic nie mogę zrozumieć. Chcę przekazać do funkcji dwuwymiarową tablicę, porobić jakieś tam operacje i zwrócić tablicę jedno-wymiarową. Nie wiem jak to zrobić. Musze jakoś wykorzystać wskaźniki? Jak?
http://pastebin.com/xhxcwEiN
#programowanie #cpp
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, mam trzy pytania co do kodu, który muszę zrobić.
1. Mam funkcję, przeładowującą operator!, która pobiera sobie z obiektów innej klasy ich składniki prywatne, ale nie wiem dlaczego podczas debugowania okazuje się, że moje metody getX() itd przekazują zera, mimo że powinny różne wartości.
Pobieranie wartości, funkcja, która dostaje same zera. To samo z przeładowanym operatorem% poniżej. Co robię źle?
2. Jak dostać się do inta stojącego po
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

generuje ostrzeżenia, że przekazuję adres do obiektu, który jest niszczony i mogą się dziać cuda. Jak to rozwiązać tak by jakoś zgrabnie się pozbyć ostrzeżeń?


@dodzik: Zwracaj kopię.
  • Odpowiedz
@dodzik: Ten kod jest niepoprawny i nie ma prawa się kompilować. Dziedziczysz po point2d i uƶywasz jego nieistniejącego konstruktora...

Co do samego problemu: zwracasz referencję do obiektu, który jest niszczony.
  • Odpowiedz
Mirki, ostatnio rozpocząłem moją przygodę z #programowanie, uczę się z Symfoni Grębosza. Polecicie mi może jakieś zadania dodatkowe? W książce jest tak naprawdę bardzo mało ćwiczeń :)
#cpp
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki, pytanie do was.

Czy jeśli zamiast operatora "||" używać będę "OR" to jakiś problem w późniejszym czasie rodzi? Czy może lepiej od razu kuć wersję "||"?

#cpp
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Lux_Aeterna: Dzięki twojemu pytaniu odkryłem, że w C++ są w ogóle takie słowa kluczowe jak and czy or. Nie pisałem w C++ od ładnych paru lat i zatrzymałem się na standardzie ISO 2003, a tu okazuje się, że już w standardzie 98 można było użyć or zamiast ||. Powiem tak, jeśli teraz operatory typu && czy || wydają ci się nieintuicyjne, to za jakiś czas się tak do nich przyzwyczaisz,
  • Odpowiedz
Mirki, pomocy, bo nie ogarniam :(

Mam taki kod. Mam podstawową klasę point2d, która jest sobie punktem, dziedziczy z niej klasa point3d i na podstawie tych punktów 3d jest tworzony wektor, taki jakiś nam wymyślił prowadzący. Ale warunkiem zrobienia zadania jest to, że te punkty muszą mieć współrzędne w takiej a nie innej formie, czyt. tablica dynamiczna. Gdyby nie to, to 20 minut roboty :( No i problem w tym, że
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp #programowanie #pytaniepoczatkujacego

Nie będę wrzucał całego kodu, bo za dużo tego - tutaj mniej więcej jak to napisałem: http://pastebin.com/uTTt4yKj
Czyli tak: mam 3 klasy pochodne dziedziczące po głównej i stworzoną tablicę typu klasy Glowna wypełnioną wskaźnikami na objekty klas pochodnych. Potem przeglądam tablicę pokolei i za każdym razem gdy trafię na konkretny obiekt (w tym przypadku na Pochodna2) - weryfikuję czy to ten obiekt sprawdzjąc
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@INIM: To jest tablica obiektów, a nie wskaźników na obiekty – to przede wszystkim. A po drugie: chyba źle podchodzisz do zagadnienia, skoro chcesz upewniać się co do typu. Wygląda to code smell.
  • Odpowiedz
Mirki w C++ spełnienie warunku oznacza, że przynjmuje wartość dokładnie 1, cyz większą lub równą 0?

#pytanie #cpp
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Do tego przekraczasz zakres tablicy, indeksowanie jak w prawie każdym języku programowania jest jak poziom Twojej wiedzy, czyli od 0 ;D
Sorka za pocisk :P Takie tylko #heheszki
  • Odpowiedz
@Swiatek7: a spędziłeś połowę czasu pracy przez 4 lata na poprawianiu tak durnych błędów? jeśli tak, to też byś się zdenerwował widząc takie podejście do problemu :<
  • Odpowiedz
Właśnie mnie szlag trafił. C++, próbuję zapisać na dysku plik binarny przy pomocy, funkcji ostram.write(buffer, bufsize), w dwóch przypadkach.

1. Jeżeli plik już istnieje to poprzednią zawartość wymazujemy.
2. Jeżeli nie to go tworzymy.

Jak otworzę w taki sposób:
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zauważyłem, że od pewnej wersji gcc działa mi coś, co teoretycznie nie powinno. Kompilator dopuszcza inicjowanie wartości zmiennej tak jak w Javie, zamiast na liście inicjalizacyjnej konstruktora. Tak więc:

class MyClass
{
int memeber = 0;
};
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Onoki: W C++11.

Zobacz sobie w standardzie sekcję 8.5.15 (Declarators, Initializers).

W praktyce jest to zaimplementowane tak, że jest taki dodatkowy konstruktor, który odpala się przed właściwym i inicjalizuje pola zainicjalizowane jako T t(value), T t{value}, T t = value. Jeśli chodzi o wydajność, to nie ma to żadnego narzutu.

Nie można tego używać do statycznych pól, które nie są "integral type" czy constexpr, bo one "mieszkają"
  • Odpowiedz
Cześć. Po ogarnięciu podstaw naszła mnie ochota na jakąś bibliotekę, mój wybór padł na Allegro 5, tylko problem jest taki, że już na etapie instalacji mnie przestawia. Korzystam z CodeBlocks i wykonuje wszystko mniej więcej tak jak tutaj: https://wiki.allegro.cc/index.php?title=Windows,_Code::Blocks_and_Allegro_5
(to mniej więcej znaczy, że nie zaznaczam tych samych plików co oni, tylko pakuje wszystkie pliki z folderu lib, bo gdybym miał do każdego projektu wyszukiwać te wszystkie pliki static, to trochę by
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ExtendedConsciousness: Tak swoją drogą, jeśli piszesz obiektowo i tworzysz klasę np. pojazdu i potem dajesz mu metody typu SetSpeed i GetSpeed, to robisz to źle. To już nie jest programowanie obiektowe.

Jak jedziesz samochodem, to nie ustawiasz prędkości na 50km/h, ale przyspieszasz i zwalniasz. Powinnaś napisać np. metody accelerate i decelerate, które każą obiektowi przyspieszyć lub zwolnić. Prędkość natomiast pobierasz np. metodą speed() i używasz, tak jakby to
  • Odpowiedz
#programowanie #cpp #pytanie
Znajdę gdzieś na necie jakieś źródło z przykładami dobrych/wzorcowych programów/bibliotek napisanych w cpp (najlepiej w standardzie cpp11 i wyżej, chociaż niekoniecznie) ?
Chodzi mi o to, żeby można było zobaczyć jak prawidłowo powinno używać się języka w rzeczywistości, bo dajmy na to w książkach jest nacisk, raczej na pokazanie jakiś aspektów i wytłumaczenie jak działają, a nie koniecznie jak są one używane w
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@handsomejack: Przestać używać tego archaicznego IDE..
Już CodeBlocks jest lepszy.
albo VS Express (albo jakaś tam inna darmowa edycja).
albo QtCreator.
albo notepad++ i kompilacja z palca z użyciem mingw.
albo ideone w przeglądarce, bez
  • Odpowiedz