C++中,继承方式共有3种:
public继承
-指父类的成员(变量和函数)访问级别,在子类中保持不变
private继承
-指父类的成员,在子类中变为private私有成员....-也就是说子类无法访问父类的所有成员
protected继承
-指父类的public成员 ,在子类中变为protected保护成员,其它成员级别保持不变
如下图所示:
?...子类可以定义父类中的同名成员和同名函数
子类中的成员变量和函数将会隐藏父类的同名成员变量和函数
父类中的同名成员变量和函数依然存在子类中
通过作用域分辨符(::)才可以访问父类中的同名成员变量和函数...,比如: Parent* p3=&c;
其实是编译器是将子类对象退化为了父类对象, 从而能通过子类来赋值初始化父类
所以上述的父类对象(包括指针/引用)也只能访问父类中定义的成员....所以C++引入了虚函数概念,根据指针指向的对象类型,来执行不同类的同名覆盖成员函数,实现不同的形态
定义: 在父类成员函数的返回值前面,通过virtual关键字声明,这样便能访问子类中的同名成员函数了