Ali so zasebni člani osnovnega razreda vedno podedovani v izpeljanem razredu v C++? Povsod sem videl, da zasebni člani osnovnega razreda niso nikoli podedovani v izpeljanem razredu, ne glede na to, kako podedujete osnovni razred (zasebno ali zaščiteno ali javno).
Ali je mogoče podedovati člana zasebnega razreda?
Zasebni člani v nadrazredu
A podrazred ne podeduje zasebnih članov svojega nadrejenega razreda. Če pa ima nadrazred javne ali zaščitene metode za dostop do svojih zasebnih polj, jih lahko uporablja tudi podrazred.
Kako podedujete zasebne člane osnovnega razreda v C++?
Z zasebnim dedovanjem javni in zaščiteni član osnovnega razreda postanejo zasebni člani izpeljanega razreda. To pomeni, da metode osnovnega razreda ne postanejo javni vmesnik izpeljanega objekta. Vendar jih je mogoče uporabiti znotraj funkcij članov izpeljanega razreda.
Kakšna je razlika med zasebno in zaščiteno dediščino?
zaščiteno dedovanje naredi javne in zaščitene člane osnovnega razreda zaščitene v izpeljanem razredu. zasebno dedovanje naredi javne in zaščitene člane osnovnega razreda zasebne v izpeljanem razredu.
Ko je dedovanje zasebno, so zasebne metode v osnovnem razredu?
Ko je dedovanje zasebno, so zasebne metode v bazirazreda so nedostopne v izpeljanem razredu (v C++). Za več informacij o dedovanju glejte: Dedovanje v C++ Možnost (A) je pravilna.