Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Znajomość języka c++ do tworzenia okien

Ostatnio zmodyfikowano 2016-08-06 23:31
Autor Wiadomość
latajacaryba
Temat założony przez niniejszego użytkownika
Znajomość języka c++ do tworzenia okien
» 2016-08-06 21:45:14
Witam. Mam nadzieję, że to dobry dział bo właśnie do tego pasuje moje pytanie.
Uczę się języka c++ i w trakcie nauki zdaje sobie wiele pytań, na niektóre znajduje odpowiedzi, na inne nie.
Do rzeczy:
Wiem, że to pytanie nie jest proste, ale prosiłbym o wyjaśnienie na jakim etapie nauki c++ powinienem zacząć uczyć się tworzenia np. okna programu, przycisków itp.
Wiem również, że praktycznie niemożliwe jest odpowiedź "na jakim etapie", dlatego proszę tylko powiedzieć, czy najpierw powinienem uczyć się samego programowania, czy do tego potrzebne
są jakieś "inne biblioteki" (nie jestem do końca pewien czy dobrze to nazwałem, chodzi mi o takie, które trzeba samemu pobrać i zainstalować)?

Do osób które znają Symfonię c++ standard Jerzego Grębosza, powiedzcie proszę, czy w książce jest jakaś wzmianka o tym jak stworzyć okno programu itp. Albo czy jest tam o instrukcjach, które bezpośrednio służą do tworzenia takowych.

Mam nadzieję, że wszyscy zrozumieli. Z góry dziękuję.

PS. jeśli ktoś to czyta i je to smacznego, i smacznej kawy/herbaty :)
P-150606
kistel66
» 2016-08-06 21:46:52
Najlepiej bawić się w okienka, kiedy rozumiesz już programowanie obiektowe.
P-150607
latajacaryba
Temat założony przez niniejszego użytkownika
» 2016-08-06 21:54:23
mógłbyś wyjaśnić mi co to? Sprawdziłem na wikipedii ale niewiele zrozumiałem, więc proszę bez trudnych pojęć, których ktoś kto jeszcze nie uczył się o klasach nie zrozumie ;)
P-150608
kistel66
» 2016-08-06 22:08:33
Klasa to nasz własny typ danych, coś w stylu struktury, tylko że zawiera w sobie funkcje (metody).
W obiektówce, jak sama nazwa wskazuje, występują obiekty. Są to takie zmienne, tylko zrobione na podstawie klasy. Klasa jest jak przepis na ciastko, a obiekt to ciastko.

Chyba najprostszy kod obiektowy

C/C++
#include <iostream>

using namespace std;

class Przyklad
{
    int x; //klasa to typ danych, więc jakieś dane musi mieć
    int y;
   
public:
    void wczytaj() // funckja(metoda) w naszej klasie - główna różnica między klasą a strukturą
    {
        cin >> x;
        cin >> y;
    }
    void dodaj()
    {
        cout << x + y;
    }
   
};


int main()
{
    Przyklad p1; //deklaracja klasy wygląda tak samo jak deklaracja struktury czy zmiennej
    p1.wczytaj(); //wywołujemy funkcje wczytaj dla obiektu p1, który utworzyliśmy linie wyżej
    p1.dodaj();
   
    return 0;
}

Mam nadzieje, że trochę ci pomogłem
P-150609
latajacaryba
Temat założony przez niniejszego użytkownika
» 2016-08-06 22:39:46
Dzięki :)
Edit. Mam parę pytanek:
- z tego co się uczyłem, to zmienne z dwóch funkcji " nie znają się nawzajem" tzn. jeśli w funkcji "a" zdefiniujemy ze int x=5;
to w funkcji "b" jeśli bedziemy próbowali to x wypisać to wyskoczy błąd. Więc jak to jest?
- co oznacza p1.cośtam bo z tego co rozumiem klasa ma nazwę "przyklad", a później piszesz przyklad p1.? czy to właśnie to p1 "łączy" te funkcję, ze mają wspólne zmienne?
P-150610
carlosmay
» 2016-08-06 23:31:05
p1.cośtam
Zapomniałeś o nawiasie.
To jest wywołanie metody dla obiektu (wewnętrznej funkcji klasy).

więc proszę bez trudnych pojęć
To nie są trudne pojęcia, tylko trzeba się z nimi zapoznać.

Na razie skup się na C++ konsolowym, a na okienka sam wyczujesz moment.

z tego co się uczyłem, to zmienne z dwóch funkcji " nie znają się nawzajem" tzn. jeśli w funkcji "a" zdefiniujemy ze int x=5;
Dwóch niezależnych funkcji, tak. Natomiast każda z metod klasy ma dostęp do tych zmiennych
C/C++
class Przyklad
{
    int x; //klasa to typ danych, więc jakieś dane musi mieć
    int y;

czy w książce jest jakaś wzmianka o tym jak stworzyć okno programu itp.
Nie. Traktuj tą książkę jako wprowadzenie do podstaw. Uczy starego standardu.
Zacznij rozglądać się za czymś od C++11 w górę.

C/C++
int x; //klasa to typ danych, więc jakieś dane musi mieć
Niekoniecznie. Może mieć tylko metody do wykonania jakiegoś działania, ale nie musi przechowywać żadnego stanu.
np.
C/C++
template < class Type >
class Compare {
public:
    bool operator ()( const Type & left, const Type & right ) {
        return left < right;
    }
};
P-150611
« 1 »
  Strona 1 z 1