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

Nadpisanie funkcji wirtualnej w innym pliku

Ostatnio zmodyfikowano 2021-06-30 09:06
Autor Wiadomość
Temat założony przez niniejszego użytkownika
Nadpisanie funkcji wirtualnej w innym pliku
» 2021-06-30 09:06:00
Witam forumowiczów!

Chciałbym nadpisać te funkcje wirtualne ale koniecznie musi być to w innym pliku:
 
C/C++
class LedControlViewBase
    : public touchgfx::View < LedControlPresenter >
{
public:
   
LedControlViewBase();
   
virtual ~LedControlViewBase() { }
   
virtual void setupScreen();
   
   
/*
     * Virtual Action Handlers
     */
   
virtual void OffAllLeds()
   
{
       
// Override and implement this function in LedControl
   
}
   
   
virtual void TouchGFXLed1Toggle()
   
{
       
// Override and implement this function in LedControl
   
}
   
...
   
Zatem utworzyłem plik .hpp i utworzyłem klase pochodną:

 
C/C++
#include <gui_generated/ledcontrol_screen/LedControlViewBase.hpp>

class LedControl
    : public LedControlViewBase
{
public:
   
void TouchGFXLed1Toggle();
};

następnie w pliku .cpp dokonałem implementacji funkcji "void TouchGFXLed1Toggle();"

C/C++
#include <gui_generated/ledcontrol_screen/LedControl.hpp>

void LedControl::TouchGFXLed1Toggle()
{
   
//new exciting code
   
static volatile int i = 0;
   
i++;
}

I to mi niestety nie działa :( męczę się z tym od wczoraj, c++ się uczę jak widać.
Cały czas program wywołuje mi funkcje virtual void TouchGFXLed1Toggle() w klasie LedControlViewBase. Wiem że pytanie raczej bardzo proste ale no nie znam za dobrze c++ i nie wychodzi :(
Ale z jakichś powodów ciągle coś przeaczam :/


Edit:
Don't mind
Znalazłem, rozwiązanie tak to jest jak się bierze za coś czego się nie umie, w dokumentacji "TouchGFXa" znalazłem odpowiedź. No całkowicie inaczej należało to robić, nie nadpisywać tych funkcji w ten sposób w każdym razie ;)
Także sorki za spam, temacik można usunąć ;) / zamknąć

P-178801
« 1 »
  Strona 1 z 1