首页 > 解决方案 > 是否可以从另一个类对象调用一个类函数而不继承第一个类

问题描述

Class A
{

    Protected:
    A();
    public:
    void function1();
};
class B
{

    public:
    B();
    void function2();
};

void main()
{

    B b;
    b.function1();
    b.function2();//How can I call this function using second class object.

}

任何人都可以建议我无论如何都要这样做。

标签: c++

解决方案


我看到的唯一方法是将A类构造函数公开,然后您可以A通过组合使用对象:

class A {
 public:
  A() = default;
  void function1() {
   cout << "function 1\n"; 
  }
};

class B {
 public:
  B() = default;
  void function2() {
    cout << "function 2\n";
  }
  A a;
};

int main() {
    B b;
    b.function2();
    b.a.function1();
    return 0;
}

推荐阅读