小编Uni*_*ded的帖子

如何使用来自另一个分支的类指针访问层次结构一个分支的类的成员?

              class A
              /     \
          class B1  class B2
Run Code Online (Sandbox Code Playgroud)

所有类都只有公共成员。

Class A是公共继承的,包含虚成员函数和非虚成员函数,带有默认的 print(cout) 语句,class B1并且class B2只有非虚函数,虚函数的定义来自class A.

我想知道如何使用 B1 的指针访问 B2 的所有成员,可以使用哪种类型转换。

例如:

              class A
              /     \
          class B1  class B2
Run Code Online (Sandbox Code Playgroud)

如果是,那么这是否可以进一步扩展到更深的分支,例如:

              class A
              /     \
          class B1  class B2
            /   \     /   \
       class C1 ...  ...  ...
Run Code Online (Sandbox Code Playgroud)

class C1从第二个分支访问等的成员)


编辑 1:

也许这会有所帮助;这是我写的例子:

#include<iostream>
using namespace std;
class A{
public:
    virtual void v_f1(){
        cout<<"virtual A::v_f1()\n";
    }
    void f1(){
        cout<<"A::f1()\n";
    }
}; …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance casting c++11

4
推荐指数
1
解决办法
68
查看次数

标签 统计

c++ ×1

c++11 ×1

casting ×1

inheritance ×1