Ar privatūs bazinės klasės nariai gali būti paveldimi?

Ar privatūs bazinės klasės nariai gali būti paveldimi?
Ar privatūs bazinės klasės nariai gali būti paveldimi?
Anonim

Ar privatūs bazinės klasės nariai visada paveldimi išvestinėje C++ klasėje? Visur matydavau, kad privatūs bazinės klasės nariai niekada nepaveldimi išvestinėje klasėje, nesvarbu, kaip paveldėsite bazinę klasę (privati, saugoma ar vieša).

Ar privačios klasės narys gali būti paveldėtas?

Privatūs nariai superklasėje

A poklasis nepaveldi pirminės klasės privačių narių. Tačiau jei superklasė turi viešus arba apsaugotus metodus pasiekti savo privačius laukus, juos taip pat gali naudoti poklasis.

Kaip jūs paveldėsite privačius C++ pagrindinės klasės narius?

Su privačiu paveldėjimu viešasis ir apsaugotas bazinės klasės narys tampa privačiais išvestinės klasės nariais. Tai reiškia, kad bazinės klasės metodai netampa viešąja išvestinio objekto sąsaja. Tačiau jie gali būti naudojami išvestinės klasės narių funkcijose.

Kuo skiriasi privatus ir apsaugotas paveldėjimas?

apsaugotas paveldėjimas daro viešus ir saugomus bazinės klasės narius, apsaugotus išvestinėje klasėje. privatus paveldėjimas padaro viešuosius ir saugomus bazinės klasės narius privačius išvestinėje klasėje.

Kai paveldėjimas yra privatus, privatus metodas bazinėje klasėje yra?

Kai paveldėjimas yra privatus, privatūs metodai yra bazėjeklasės yra nepasiekiamos išvestinėje klasėje (C++). Daugiau informacijos apie paveldėjimą žr.: Paveldėjimas C++ variante (A) yra teisingas.

Rekomenduojamas: