c++ - 是否可以从另一个类对象调用一个类函数而不继承第一个类
问题描述
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.
}
任何人都可以建议我无论如何都要这样做。
解决方案
我看到的唯一方法是将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;
}
推荐阅读
- ios - 在 iOS 模拟器和真实设备之间从 Firebase 读取不同的结果
- java - 带有自定义视图的 ListView 屏幕截图越界
- bash - BASH 创建文件名表单变量
- java - 在 ArchUnit 中搜索未使用的类,如何找到 MyClass.class 参考?
- c - 如何在 Clang 中分支/跳转到任意地址?
- javascript - Mongoose TypeError:问题不是构造函数
- android - 即时应用程序基本模块中的 Firebase 初始化失败
- three.js - Three.js 制作固定纹理,与网格大小无关
- doctrine - 教义返回给我 49 而不是 7 !这是结果 x 结果!这是正常的 ,?
- azure-cosmosdb - Azure CosmosDB 嵌套 WHERE 查询