一、优先考虑成员变量提供访问接口
class A
{
private:
int a;
public:
int &Geta()
{
//可以做一些其他工作
return a;
}
};
当需要使用对成员变量进行访问时,可以使用private来修饰成员变量,然后提供一个public成员函数作为外界访问该变量的接口。这样增加类的灵活性。
二、如何避免将父类的虚函数暴露给子类
如下调用:
结果:
myfunc函数是myvirfunc函数的一行通道性质的代码。非虚拟接口(Nonvirtual Interface:NVI)
总结:如果能将虚函数设置为私有,则优先考虑将其设置为私有