Wszystko
Najnowsze
Archiwum
#csharp #cpp #programowanie
Jest tutaj ktoś kto mógłby mi wytłumaczyć wszystkie kombinacje dziedziczenia i praktyczne ich zastosowania?
Zacznijmy od tego, że proste dziedziczenie jest bez sensu: kategoria nie powinna mieć swoich instancji.
Wiem, że dziedziczenie nie powstało z myślą o dobrym opisie rzeczywistego świata, ale raczej jako pomoc uporządkowaniem kodu. Generalnie mój cel to po prostu dobre opanowanie tematu dziedziczenia od strony teoretycznej i praktycznej (kiedy dokładnie
Jest tutaj ktoś kto mógłby mi wytłumaczyć wszystkie kombinacje dziedziczenia i praktyczne ich zastosowania?
Zacznijmy od tego, że proste dziedziczenie jest bez sensu: kategoria nie powinna mieć swoich instancji.
Wiem, że dziedziczenie nie powstało z myślą o dobrym opisie rzeczywistego świata, ale raczej jako pomoc uporządkowaniem kodu. Generalnie mój cel to po prostu dobre opanowanie tematu dziedziczenia od strony teoretycznej i praktycznej (kiedy dokładnie
źródło: comment_1AUs6LeeMvJogeA4dlSvCyB8oRkirhyR.jpg
Pobierz- 0
@fenix7557: Tak, dziedziczenie po 1 klasie na raz, ale można stworzyć hierarchię klas. Powiedzmy, z 10 klas abstrakcyjnych połączonych ze sobą liniowo i jedna klasa podstawowa instancjonowalna. I wtedy właśnie ta klasa na samym dole będzie mogła (w przypadku zwykłych metod) lub będzie musiała (w przypadku metod abstrakcyjnych) implementować te metody.
Prosty schemat: http://hastebin.com/olasuhohay.vala
Tak apropo, ze względu na to, że od niedawna bawię się WPF, to interesuje mnie jak wygląda
Prosty schemat: http://hastebin.com/olasuhohay.vala
Tak apropo, ze względu na to, że od niedawna bawię się WPF, to interesuje mnie jak wygląda
- 2
Cześć, czy mógłby ktoś podrzucić jakieś wskazówki dotyczące znalezienia najkrótszej drogi, z punktu A, do punktu B, ale pomiędzy wieloma punktami (jadąc z punktu A, do punktu B, musi dojechać również do innych punktów, lub prościej - odwiedzić określone punkty, najkrótszą drogą)? Czytałem na temat algorytmu Dijkstry, ale on nie rozwiązuje tego problemu.
Dziękuję.
#programowanie #naukaprogramowania #cpp
Dziękuję.
#programowanie #naukaprogramowania #cpp
- 6
@Dede18: Nie da się tego (znaleźć najkrótszą trasę, żeby odwiedzić wszystkie punkty) zrobić na obecny stan wiedzy świata lepiej niż siłowo. To jest problem NP-zupełny.
- 1
@Dede18: zawsze możesz szukać rozwiązania tylko przez x minut. Cały czas sprawdzasz nowe rozwiązania algorytmem genetycznym, zapamiętujesz najlepsze znalezione rozwiązanie, po x minutach kończysz działanie algorytmu i przyjmujesz najlepsze rozwiązanie jako wynik.
Siemanko, chciałem stworzyć sobie prosty system logowania, który po wprowadzeniu błędnych danych pozwoli wpisywać je do skutku. Użyłem pętli i coś jest nie tak ponieważ w warunku while tylko jeden musi zostać spełniony aby z niej wyjść :(
http://pastebin.com/4jANLS4h
#naukaprogramowania #cpp
http://pastebin.com/4jANLS4h
#naukaprogramowania #cpp
Czy istnieje tag/strona pod którym początkujący mógłby wrzucić swój kod z prośbą o pokazanie błędu?
Dopiero się uczę i coś psuję przy pętli do while :/
#programowanie #cpp
Dopiero się uczę i coś psuję przy pętli do while :/
#programowanie #cpp
- 0
@rbielawski: @gulamin: @PiersiowkaPelnaZiol: Dzięki wielkie, już napisałem ;)
@Novy: Napisałem pod tagiem
@Kernel_poza_kontrolo: Nie wywala błędu w kodzie, kompiluje normalnie :P
@Novy: Napisałem pod tagiem
@Kernel_poza_kontrolo: Nie wywala błędu w kodzie, kompiluje normalnie :P
- 1
@saffal: Jest jedna bardzo popularna strona: stackoverflow.com oraz polska kopia devpytania.pl tylko nie wiem czy ta strona jeszcze żyje.
Jeżeli chcesz opinię o działającym już kodzie to jest http://codereview.stackexchange.com/ oraz jeżeli jest pytanie koncepcyjne oto co jak i dlaczego to od tego jest http://programmers.stackexchange.com/
Jeżeli chcesz opinię o działającym już kodzie to jest http://codereview.stackexchange.com/ oraz jeżeli jest pytanie koncepcyjne oto co jak i dlaczego to od tego jest http://programmers.stackexchange.com/
- 1
- 2
Mirki z #programowanie Kojarze że gdzieś mi się kiedyś rzucił w oczy kurs #cpp w stylu #codeacademy albo bardzo bardzo przybliżony, czy jest to do znalezienia? Czy to tylko moj mozg plata mi figle?
Komentarz usunięty przez autora
- 1
Cześć, mam pewien problem z którym nie mogę się uporać, a więc:
Mam char* który wskazuje na pewien adres w pamięci, który zawiera tekst, tekst powinien wyglądać tak:
"Mały" jednak za nic nie mogę zgadnąć co to za kodowanie, albo jak to odwrócić. Gdy rzutuje tego chara na inta otrzymuję liczbę -77, z pozoru wydaję się całkowicie przypadkowe, ale... gdy zamienimy -77 z dec na hex otrzymamy "FFFFFFFFFFFFFFB3" interesujące są dwie ostatnie
Mam char* który wskazuje na pewien adres w pamięci, który zawiera tekst, tekst powinien wyglądać tak:
"Mały" jednak za nic nie mogę zgadnąć co to za kodowanie, albo jak to odwrócić. Gdy rzutuje tego chara na inta otrzymuję liczbę -77, z pozoru wydaję się całkowicie przypadkowe, ale... gdy zamienimy -77 z dec na hex otrzymamy "FFFFFFFFFFFFFFB3" interesujące są dwie ostatnie
@morsisko: KrzaQ2 ma rację. Masz chara, który binarnie wygląda tak:
10110011.
Signed char powie, że to -77, unsigned powie, że to 179 (a w ISO8859-2 to właśnie 'ł').
Castowanie na signed int spowodowało, że -77 jest teraz zapisane na większej ilości bitów:
11111111 1111111 11111111 10110011, ale to nadal -77. Trzeba było albo wypisać jako %u w printfie.
Nie dopisuj żadnych "F"ów ani nic. Dobrze działa jak jest.
10110011.
Signed char powie, że to -77, unsigned powie, że to 179 (a w ISO8859-2 to właśnie 'ł').
Castowanie na signed int spowodowało, że -77 jest teraz zapisane na większej ilości bitów:
11111111 1111111 11111111 10110011, ale to nadal -77. Trzeba było albo wypisać jako %u w printfie.
Nie dopisuj żadnych "F"ów ani nic. Dobrze działa jak jest.
Nie jestem specjalistą od Qt, więc nie pomogę dokładnie, ale powiem Ci, co się wyprawia wg mnie: masz tekst w kodowaniu ISO-8859-2 lub Windows-1250, patrząc po tym 'ł'. Qt myśli, że to tekst zakodowany w UTF-8, co znaczy, że znaki 0-127 są takie same niezależnie od kodowania. Dochodzi do bajtu z tym nieszczęsnym 'ł' i natrafia na problem, bo nie potrafi go odpowiednio wyświetlić. Poczytaj tutaj, jak działa UTF8: https://pl.wikipedia.org/wiki/UTF-8
To, co bym
To, co bym
- 2
Zadanie ze spoja brzmi tak:
Twoim zadaniem jest dodać wszystkie liczby całkowite podane na wejściu.
Wejście:
W pierwszym wierszu znajduje się liczba t testów (0 < t < 100) Każdy test opisany jest w następujący sposób. W pierwszym wierszu dana jest liczba n - liczba liczb do zsumowania. Następnie podanych jest n liczb pooddzielanych spacją.
Twoim zadaniem jest dodać wszystkie liczby całkowite podane na wejściu.
Wejście:
W pierwszym wierszu znajduje się liczba t testów (0 < t < 100) Każdy test opisany jest w następujący sposób. W pierwszym wierszu dana jest liczba n - liczba liczb do zsumowania. Następnie podanych jest n liczb pooddzielanych spacją.
Mirki mam problem #programowanie w #cpp potrzebuje w programie podzielić mniejszą liczbę przez wieksza zapisalem to tak link
@stefan1995: dzielisz inty . liczba 1 i liczba 2 niech bedzie tez typu float
@stefan1995: w C++ typ zwracanej wartości zależy (tylko) od typów argumentów, a nie od ich wartości czy wyrażenie na około.
- 2
Treść przeznaczona dla osób powyżej 18 roku życia...
- 1
#programowanie #cpp Dev c++ Potrzebuje zrobić program, ale nie do końca ogarniam jak to rozwiązać. Mam projekt, dodałem do niego plik .exe (dla przykładu calc.exe). Teraz z poziomu pisanego programu chciałbym uruchomić calc.exe, ale nie z systemowej ścieżki, a z wnętrza mojego programu. Mam już napisaną funkcję tworzącą nowy process. Jest ok jak podaję ścieżkę w systemie, ale nie wiem jak dołączyć calc.exe i podać jego lokalizację z
- 1
@r3kc4H: nie znam Dev C++, tak w ogóle to polecam zmienić IDE na jakieś współczesne. Po dodaniu exeka do zasobów dostaniesz się do jego danych bez problemu za pomocą dosłownie kilku funkcji np. od WinAPI.
- 1
- 1
Czemu taka funkcja
void uart_printH(uint8_t val)
{
const char* tab = "012345679ABCDEF";
uint8_t buf[3];- 1
Miej możliwość z korzystania z Unity na Linuxie.
Korzytaj z Ogre3D
XD
Korzytaj z Ogre3D
XD
- 4
@LooZ: @BezdomnySkynet: w ogóle, moje pytanie to nie było "jaki silnik polecacie" tylko "jak zmienić sposób wczytywania bibliotek przez Qt Creatora". -_-'
- 1
#programowanie #qt #cpp
Małe pytanie odnośnie tego co tak właściwie Qt robi podczas emitowania rzeczy jako sygnały.
Mam sobie takiego emita:
emit
Małe pytanie odnośnie tego co tak właściwie Qt robi podczas emitowania rzeczy jako sygnały.
Mam sobie takiego emita:
emit
- 0
@KrzaQ2: Przejrzałem kod Qt5.6 na szybko i masz rację, w przypadku DirectConnection i BlockingQueuedConnection przekazywane są tylko wskaźniki, a w przypadku QueuedConnection używane jest
QMetaType::create do stworzenia kopii każdego z argumentów.- 0
@lionbest: Kopia w przypadku kontenerów Qt to tak naprawdę kopia d-pointera oraz
refcount->increase().- 1
#cpp #programowanie
Mirki, mam stringa z zapytaniem SQL:
Jest jakaś metoda w bibliotece standardowej albo w booście, która wycinałaby mi wszystkie tabulacje i znaki końca linii, która nie zostawiałaby spacji? Próbowałem tak:
Mirki, mam stringa z zapytaniem SQL:
(...)and p.pat_out_of_subdistrict = 0 and p.pat_right_type LIKE '\t\t\t\t\t\t\n%\t\t\t\t\t\t\t' and (current_date::DATE-p.pat_birthday::DATE)/365 between 0 and 90(...)Jest jakaś metoda w bibliotece standardowej albo w booście, która wycinałaby mi wszystkie tabulacje i znaki końca linii, która nie zostawiałaby spacji? Próbowałem tak:
#cpp
Dla zielonego IDE Visual C++ czy może Code::Blocks? Jakie są różnice?
Dla zielonego IDE Visual C++ czy może Code::Blocks? Jakie są różnice?
@deadmoose: 90% narzędzi z visuala i tak na początek nie będziesz używał, Code::Blocks jakos nie lubię, ale kto wie, może Ci przypadnie do gustu. Dorzucę jeszcze Eclipse przydatne, jak później chciałbyś zacząć swoja przygodę z javą
@deadmoose: Nie jestem fanem MS, ale sugeruję, żebyś zaczął od Visual Studio Community 2015 i już na początku zaznajomił się z dobrym jakościowo IDE (z dużym naciskiem na interfejs debuggera, który w VS jest solidny). Code::Blocks jest archaiczne i toporne, zamiast niego lepiej użyć QtCreatora lub CLiona, ale rozpoczęcie pracy z tymi dwoma może być nieco trudniejsze niż w przypadku VS, bo wymagają wiedzy na temat make i toolchainów oraz
- 1
#programowanie #qt #cpp
Da się dodać do siebie kilka QByteArrayów? Chcę po prostu stackować jeden za drugim, tak ze 20 razy zanim pójdzie jeden duży byte array. Wynika to z tego, że QAudioProbe ma na nagrywaniu z recordera bufor 40 ms (ale bym z-----ł bułę debilowi, który nie wprowadził do QAudioProbe możliwości wyboru rozmiaru bufora, tylko jest dobierana w jakiś niewiadomy sposób) i to jest po
Da się dodać do siebie kilka QByteArrayów? Chcę po prostu stackować jeden za drugim, tak ze 20 razy zanim pójdzie jeden duży byte array. Wynika to z tego, że QAudioProbe ma na nagrywaniu z recordera bufor 40 ms (ale bym z-----ł bułę debilowi, który nie wprowadził do QAudioProbe możliwości wyboru rozmiaru bufora, tylko jest dobierana w jakiś niewiadomy sposób) i to jest po
#programowanie #cpp #qt Chciałbym zrobić sobie jakąś listę z QVectorami różnych typów, żebym mógł napisać coś w stylu:
lista.append(QVector);lista.append(QVector);float A = 12.3;QString B = "Coś";- 6
- 1
@CichyGlosZTyluGlowy Obczaj
Niestety w Qt5 QVariant jest nie mutowany więc nie dostaniesz referencji do jego zawartości, czyli ostatnich dwóch linijek nie da się w ten sposób zakodzić, musisz dwa
QVariantList . To jest tylko typedef na QList i niestety nie robi dokładnie tego co ty chcesz ale standardowo w Qt to stosuje się. Pytanie czy można do QVariant wpakować QVector, w Qt5 chyba automagicznie tak, jeżeli T można wepchnąć do QVarianta.Niestety w Qt5 QVariant jest nie mutowany więc nie dostaniesz referencji do jego zawartości, czyli ostatnich dwóch linijek nie da się w ten sposób zakodzić, musisz dwa


























for (void * ptr : list) {delete ptr;
ptr = 0;
}
rzeczywiście, ptr jest w tym przypadku kopią wskaźnika. Natomiast działa to w połowie tak jak chcesz - tworzona jest kopia wskaźnika ptr, zwalniana jest pamięc pod tą kopią (równocześnie pod oryginałem - przecież wskazują na ten sam obszar pamięci. Poźniej przypisujesz NULLa do kopii, nie do oryginału. Jeśli chcesz również przypisać NULLa do oryginału, to musisz zrobić tak jak napisałeś - referencje