W języku C++, jaki jest narzut (pamięć/procesor) związany z dziedziczeniem klasy bazowej, która nie ma funkcji wirtualnych? Czy jest tak dobry jak zwykła kopia + pasta członków klasy?Obciążenie dziedziczeniem C++ bez funkcji wirtualnych
class a
{
public:
void get();
protected:
int _px;
}
class b : public a
{
}
porównaniu z
class a
{
public:
void get();
protected:
int _px;
}
class b
{
public:
void get();
protected:
int _px;
}
Jaki jest sens używania dziedziczenia (publicznego), jeśli nie masz funkcji wirtualnych? Będziesz potrzebował co najmniej wirtualnego destruktora. –
@Neil może być do ponownego użycia kodu, unikając ponownego odkrywania koła – vehomzzz
W takim przypadku powinien używać kompozycji, prywatnego dziedziczenia lub wolnych funkcji. –