• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

QT Creator - Public int

0 głosów
272 wizyt
pytanie zadane 29 listopada 2020 w C i C++ przez jakis111 Nowicjusz (210 p.)

Mam problem z QT Creatorem mam inta np.przendkosc w Main.cpp chciałbym aby void w mainwindow.cpp był wstanie zmienić inta na na jakąś inną liczbę np.3 czy jest taka możliwość ?

main.cpp:
int prendkosc;

mainwindow.cpp:

void MainWindow::on_pushButton_2_clicked()
{
  prendkosc = 1;
}

 

1 odpowiedź

+1 głos
odpowiedź 29 listopada 2020 przez tangarr Mędrzec (155,140 p.)

Chciałbym zauważyć, że pytanie nie dotyczy ani biblioteki Qt ani tym bardziej QtCreatora. Pytanie powinno brzmieć jak zmodyfikować zmienną zadeklarowaną w innym pliku cpp.

Pierwsze rozwiązanie, które nasunęło mi się na myśl po spojrzeniu na twoją zmienną globalną "prendkosc" to  zdefiniowanie tej zmiennej w drugim pliku przy użyciu słowa kluczowego extern. Jednak jest to rozwiązanie mało elegancie i niezalecane.

Lepszym rozwiązaniem byłoby użycie wskaźnika (lub referencji) do wybranej zmiennej w klasie MainWindow.

Przykład:

class Klasa {
private:
    int &referencja;
public:
    Klasa(int &_referencja) : referencja(_referencja) {}
    void reakcjaNaZdarzenie() {
        referencja = 0;
    }
};

int main() {
    int moja_liczba = 1;
    Klasa klasa(moja_liczba);
    // reszta kodu
}

Jeżeli funkcja reakcjaNaZdarzenie zostanie wykonana to zmienna moja_liczba zostanie zmodyfikowana.

komentarz 30 listopada 2020 przez j23 Mędrzec (195,220 p.)

A dlaczego nie zdefiniować tej zmiennej w klasie MainWindow zamiast bawić się wskaźnikami?

Podobne pytania

0 głosów
1 odpowiedź 470 wizyt
pytanie zadane 25 kwietnia 2021 w Bezpieczeństwo, hacking przez MrMoon Użytkownik (960 p.)
0 głosów
1 odpowiedź 251 wizyt
0 głosów
1 odpowiedź 793 wizyt
pytanie zadane 11 grudnia 2016 w C i C++ przez Suiko Początkujący (350 p.)

93,741 zapytań

142,677 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...