公有继承:
基类的成员在派生类中维持原来的访问权限,基类的publice成员为派生类的public成员,基类的protected成员为派生类的protected成员,基类的private成员在派生类的private成员,但是却在派生类中不可见,也即不能操作,但是存在。即:派生类的成员函数不能直接访问基类的私有成员,只能通过基类的一些成员函数进行访问。
私有继承:
继承之后,基类的所有成员在派生类中为private属性,其中基类的private成员在派生类中不可见,也即不能操作,但是存在。
即:派生类的成员函数依然不能直接访问基类的私有成员,只能通过基类的一些成员函数进行访问。
protect继承:
继承之后,基类的publice成员和protected成员为派生类的protected成员,基类的private成员在派生类的private成员,但是却在派生类中不可见,也即不能操作,但是存在
友元
友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。不过,类的访问权限确实在某些应用场合显得有些呆板,从而容忍了友元这一特别语法现象。
相关文章
- 02-10C++进阶--公有继承的二元性
- 02-10C++公有继承、保护继承和私有继承
- 02-10C++公有继承、私有继承以及友元
- 02-10C++中公有继承、保护继承、私有继承的区别
- 02-10C++公有继承,私有继承和保护继承的区别
- 02-10C++ 中私有继承、保护继承与公有继承
- 02-10C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
- 02-10从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- 02-10C++知识点61——typename与class、模板编程与继承、模板类和友元、类模板与static成员
- 02-10C++友元和继承