深度探索C++对象模型之(二)(二)
{
void printA_C()
{
cout<
};
// private member can not see
/*void printA_B()
{
cout<
}*/
void printA_D()
{
cout<
}
};
int _tmain(int argc, _TCHAR* argv[])
{
A a1;
B b1;
// private member can not see
//cout<
// protected member can not see
//cout<
cout<
// public member can see
return 0;
}
写了这么多了,那么会出现这种一个状况,如果是class的父类是struct关键字描述的,那么默认访问属性是什么?
当出现这种情况时,到底默认是public继承还是private继承,取决于子类而不是基类。class可以继承自struct修饰的类;同时,struct也可以继承自class修饰的类,继承属性如下列描述:
[cpp]
struct A{};
class B:A{}; // private 继承
class A{};
struct B:A{}; // public 继承
最后,那么到底是使用struct,还是使用class呢?这个看个人喜好,但是这里有一个
编程规范的问题,当你觉得你要做的更像是一种数据结构的话,那么用struct,如果你要做的更像是一种对象的话,那么用class。