Kiedy zastąpić funkcję wirtualnego:Czy powinienem ponownie określać "wirtualny", gdy przesłonię funkcję C++?
class Geoff
{
public:
virtual int getArea() { return 0; }
}
powinienem określić „wirtualne”, kiedy znowu go zastąpić? Czy to ma jakieś znaczenie? Wiem, że oba sposoby wydają się działać dobrze, tylko zastanawiam się, czy jest w tym coś więcej.
class George : public Geoff
{
public:
virtual int getArea() { return x*y; }
}
To nie jest dupe, ale z pewnością jest powiązane. –
@ 一 二三: to kiepski kandydat do duplikatu, ponieważ faktycznie pyta, czy możesz jakoś "zastąpić" funkcję *** bez *** używając wirtualnego słowa kluczowego (dobre odpowiedzi wyjaśniają różnicę między ukrywaniem a wirtualną wysyłką) . –
@TonyD - to wyścig, który widzisz, aby być pierwszą osobą, która zmapuje pytanie, edytując go w coś, czego nie ma, lub wyłączając pytanie. ;-P –