W przypadku stołu z jedną nogą, nie używasz dziedziczenia, to nie ma sensu : /
Możemy stworzyć klasę bazową o nazwie mebel, następnie dziedziczącą z niej, klasę stół, a następnie mając kilka stołów np. drewniany z jedną nogą, nowoczesny z czterema nogami, stół ogrodowy to każdy z tych stołów by dziedziczył z klasy stół, a ilość nóg to już kwestia indywidualna każdego stołu i jego wyglądu. Ale pozostaje pytanie.. Dlaczego miałyby dziedziczyć z tej klasy stół? A to dlatego, gdyż w klasie bazowej (klasa stół) jest wiele funkcji odpowiadających za zachowywanie się sima gdy np. klikniemy na taki stół (a to że to będzie stół drewniany, czy jakikolwiek inny stół, nie ma znaczenia), to sim usiądzie do tego stołu. Po co przekopiowywać za każdym razem te same funkcje, do różnych stołów.. poza tym dziedziczenie pozwala na np przechowanie wielu obiektów różnego typu, ale dziedziczących z jednej klasy, w jednym wektorze, w przykładzie ze stołami, można przechować wszystkie stoły w wektorze std::vector<table>, ale to już inna bajka.. tzw. upcasting and downcasting.. polecam lekturę.. to może wyjaśni ci się jeszcze więcej rzeczy związanych z dziedziczeniem.