Komputer Świat Ekspert - Forum: [C++] Funkcje zaprzyjaźnione klasy pochodnej - Komputer Świat Ekspert - Forum

Skocz do zawartości

Strona 1 z 1

[C++] Funkcje zaprzyjaźnione klasy pochodnej odwołuje się do bazowej

#1 Użytkownik nie jest zalogowany   Ferrari 

  • Tajny agent USB
  • Grupa: Moderatorzy
  • Postów 3435
  • Rejestracja: 21-marzec 04

Napisano 27 styczeń 2012, 19:51

class Kaczor
{
  friend ostream & operator<<(ostream & wy, Kaczor & obiekt);
  friend istream & operator>>(istream & we, Kaczor & obiekt);
}

class Donald : public Kaczor
{
  friend ostream & operator<<(ostream & wy, Donald & obiekt);
  friend istream & operator>>(istream & we, Donald & obiekt);
}

Kaczor* obiekt = new Donald; //wskaźnik ma typ klasy bazowej, ale wskazuje na potomną

plik << *obiekt;

Niestety, w tym miejscu C++ wywołuje zaprzyjaźnioną funkcję operatorową dla klasy bazowej Kaczor. Chcę, aby wywołały się funkcje operatorowe dla klasy pochodnej Donald. Nie da się nadać funkcjom atrybutu virtual, bo nie są członkami klas. Próbowałem to obejść:

class Kaczor
{
  friend ostream & operator<<(ostream & wy, Kaczor & obiekt);
  friend istream & operator>>(istream & we, Kaczor & obiekt);
  public: virtual istream & put(istream & we);
  public: virtual ostream & get(ostream & wy);
}

class Donald : public Kaczor
{
  friend ostream & operator<<(ostream & wy, Donald & obiekt);
  friend istream & operator>>(istream & we, Donald & obiekt);
  public: virtual istream & put(istream & we);
  public: virtual ostream & get(ostream & wy);
}

ostream & operator<<(ostream & wy, Donald & obiekt)
{
  return obiekt.get(wy); //podobnie dla >> w obu klasach
}

Niestety, kompilator Microsoftu wyrzuca błąd Unresolved link.

Jak odwołać się do właściwej funkcji operatorowej?
Przygoda w Biurowej Dzielnicy - TODA :: Przyszłość sieci Webb i informatyzacja Polski
There is a road to freedom. Its milestones are Obedience, Endeavor, Honesty, Order, Cleanliness, Sobriety, Truthfulness, Sacrifice, and love of the Fatherland.
0

Strona 1 z 1


Szybka odpowiedź

  

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Zmień widoczność shoutboxa Shoutbox

Ferrari  : (19 luty 2012 - 11:33) Osłona sieciowa Avast! zablokowała własny serwer aktualizacji download117.avast.com. Atak na serwery czy błąd w programie?
Ferrari  : (09 luty 2012 - 21:31) Lepiej, by zamknęli Dziewczynę i Popcorn, a nie zamykali Eksperta :)
yojo2  : (09 luty 2012 - 21:19) axel springer chyba jakas glebsza restrukturyzacje robi... nie dosc ze zamkneli eksperta, to jeszcze DZIEWCZYNE i POPCORN :(
PxxLT  : (04 luty 2012 - 21:31) Wieki przeminęły a tu nadal ciągle te same osoby się tylko udzielają :D
_smerf_  : (01 luty 2012 - 18:59) aktualne mrozy zamroziły całe forum
sauron  : (27 styczeń 2012 - 13:25) zauktualizowane. Pytanie jest tylko jedno, ale odpowiedź trzeba podać słownie.
Ferrari  : (26 styczeń 2012 - 17:47) A jednak boty są. Trzeba kazać wpisać odpowiedź słownie, albo zastawić inne pułapki. Wszystkie wpisują "google" w pole Tlen.
sauron  : (26 styczeń 2012 - 01:17) Póki nie będą mieć zaimplementowanego języka polskiego nic nie zdziałają ;) Najwyżej mogą na ślepo wpisywać proste wyniki działań typu "1 dodać 1". Raz może trafią, ale wtedy można zrobić trochę bardziej skomplikowane równanie i już leżą
Pretender  : (25 styczeń 2012 - 19:45) nie potrafia odpowiedziec na proste pytanie ;)
Pretender  : (25 styczeń 2012 - 19:44) sauron metoda z zabezpieczeniem tekstowym zadzialala..boty jak na razie nie sforsowaly tego, jeszcze raz dzieki :)
yojo2  : (24 styczeń 2012 - 17:05) a to przepraszam.
sauron  : (24 styczeń 2012 - 10:48) Nie przedzierają się. To są po prostu "stare boty", które jeszcze nie zostały zbanowane. Żaden nowy nie powstał po 18 styczcnia.
yojo2  : (24 styczeń 2012 - 05:57) boty sie nadal przedzieraja :(
Pretender  : (23 styczeń 2012 - 11:14) ile mam czekać na Diablo III...??? <zły> ;)
Pretender  : (23 styczeń 2012 - 09:03) ok, dzięki, spróbujemy..:)
sauron  : (22 styczeń 2012 - 21:19) @pretender - zwykłe, dodatkowe pole przy rejestracji. Działanie matematyczne (po polsku) i wsio. Nie sądze, żeby boty się przez to przebiły. Ludzie z IQ mniejszym niż rozmiar buta też się nie przebiją - dodatkowy plus.
dawido90  : (22 styczeń 2012 - 17:40) http://www.makelifeasier.pl/ - blog Kasi Tusk ;-)// To jednak fake, osoba strona, ale i tak niezłe.
Pretender  : (22 styczeń 2012 - 10:03) Potwierdzenie Tekstowe - cos takiego jest lepsze?
Pretender  : (22 styczeń 2012 - 09:56) sauron ten rodzaj zabepieczenia to jest to jakis modul? itp/ mozna to gdzies kupic i sobie zainstalowac do swojego forum?
sauron  : (22 styczeń 2012 - 09:04) Onet padł w nocy na 30sek
Rozszerz pole shoutboxa