关于继承方面的问题
在C++继承这一块,小弟一直有个疑惑,还望各位兄台告知,比如
class A{
private:
int a;
public:
void Display(){cout<<a;}
};
class B:public A{
private:
int b;
public:
void Display(){cout<<a<<'\n'<<b;} //我想问的问题就在这行
}
B.Display()为什么不能直接输出a呢,B继承A之后应该继有了a这个特征,这样既方便了代码复用,又使得B可以直接访问自己的属性,这不是更好吗?另外还想问继承的精髓在哪啊?
[解决办法]
private是私有访问权,不仅对外界,对子类也是如此。如果只对外界私有,用protected。对外界和子类都有访问权,用public。这几种access section提供了所有情况的处理办法,满足各种需求。这样说就合理了吧?
继承的精髓在于:
1)多态性抽象,该性质是OO的基础,是现代软件OO设计模式的基础设施。
2)代码复用,大量可重用的代码放在基类里面,通过继承得到重新利用,节省了软件开发业巨大的成本。