CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Metody wirtualne - drobny problem

Metody wirtualne - drobny problem

dział ogólny

Metody wirtualne - drobny problem

Nowy postprzez Slynx » niedziela, 7 sierpnia 2011, 14:10

Potrzebuje do klasy abstrakcyjnej dodać jeszcze dwie funkcje (metody dostępowe do dwóch pól). Problem jest z ustawianiem wartości dla tych pól.
KOD cpp:     UKRYJ  
String^ val1_;
String^ val2_;
virtual Void Foo(String^ val1, String^ val2) = 0;
 

I teraz, przy pisaniu implementacji tej funkcji (to jest klasa bazowa), te dwa argumenty powinny być przypisane do dwóch zmiennych w klasie bazowe(val1_ i val2_). O co dokładnie chodzi ? Przecież można przypisać zwyczajnie zmienną. No tak, tylko, że ten element zawsze jest wykonywany tak samo, więc chciałbym żeby przy każdorazowym pisaniu implementacji tej funkcji nie trzeba było się tym zajmować. Nie wiem czy da się tak zrobić.
Mówiąc trochę inaczej, chodzi o to by zmienne val1_ i val2_ przyjęły wartości argumentów funkcji Foo w momencie (lub po - to bez znaczenia) jej wywołaniu.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Metody wirtualne - drobny problem

Nowy postprzez polymorphism » niedziela, 7 sierpnia 2011, 16:34

Nie da się. Możesz oczywiście wywołać implementację klasy bazowej (o ile ją posiada), czyli:
KOD cpp:     UKRYJ  
klasa_bazowa::Foo(val1, val2);
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Metody wirtualne - drobny problem

Nowy postprzez Slynx » niedziela, 7 sierpnia 2011, 16:52

Odpada. Zbyt czasochłonne by sobie ot tak wywołać ; ). Ale dzięki za konkretną odpowiedź.
Już znalazłem sobie w miarę kompromisowe rozwiązanie. I tak było konieczne ustawianie na wyjściu dwóch właściwości, więc połączę to w całość i zrobię funkcję przeładowaną uwzględniającą to o czym piszę.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 7 gości

cron