公有/私有/保护成员
在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。
在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。
在关键字protected后面声明,与private类似,其差别表现在继承与派生时对派生类的影响不同
公有/私有/保护继承
private成员任何形式继承
,均不可访问。private继承,所有成员私有化。protected继承,public转为protected。
在关键字public后面声明,它们是类与外部的接口
,任何外部函数都可以访问公有类型数据和函数。
在关键字private后面声明,只允许本类中的函数访问
,而类外部的任何函数都不能访问。
在关键字protected后面声明,与private类似
,其差别表现在继承与派生时对派生类的影响
不同
内联函数,编译的时候将代码直接嵌入到调用的地方,从而减少函数调用的开销,从而提高效率
。内联只是对编译器的建议
,实际上即使加了inline也不一定宏展开,比如遇到switch,for语句的时候就往往不会。
类内部实现的函数都是内联函数
。若在类内部实现,inline关键字可加可不加;在类外部实现,需加inline
,如inline void Clock::SetHour(int hour) { }
。