关于网友提出的“ C++ primer 中的一些问题,请教!”问题疑问,本网通过在网上对“ C++ primer 中的一些问题,请教!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: C++ primer 中的一些问题,请教!
描述: 1。 派生类的声明问题。
如果需要声明(但不实现)一个派生类,则声明包含类名但不包含派生列表。
class A:public B; // 这种声明是错误的
正确的声明为:
class A;
class B; //书上说这种声明是正确的;
我想问这种的正确声明方式 这么书写, 怎样就能断定A是B的派生类呢?? 感觉上不就是前向声明了两个类吗?怎么会有继承关系?????
2.C++中的多态性
引用和指针的静态类型与动态类型可以不同。这是C++用以支持多态性的基石。
问题: 前面半句没看懂, 有人能具体解释一下吗?????
解决方案1:class B{};
class A;
class A:B{};// 这个时候再实现类A
解决方案2: 我翻了下,这里讲的是前向声明,如果只是声明而不是定义一个类的话,在这里不需要知道该类的细节,如果写成class A:public B; 就需要实现该类,写成下面形式就不需要时给出该类细节。
class A;
class B;
它的意思应该是到实现时候再去约束两者关系.
解决方案3: 1,声明两个类当然不能构成继承关系,C++ primer上有这么写吗?
2,
class Base{};
class Derived:public Base{};
Base *p = new Derived;
—— 指针p的静态类型是Base,动态类型是Derived
以上介绍了“ C++ primer 中的一些问题,请教!”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2261228.html