【发布时间】:2023-03-19 11:20:02
【问题描述】:
我目前的情况是这样的结构:
class Foo {
public:
void call() {
b.call();
}
private:
Bar b;
};
class Bar {
public:
void call() {
std::cout << "Hello there" << std::endl;
}
};
int main() {
Foo f;
f.call(); // This calls directly the b.call() function
}
有没有一种语法可以直接让Foo.call函数直接调用类内存储为变量的函数?
基本上,有没有一种语法可以做这样的事情:
class Foo {
public:
void call() -> b.call
private:
Bar b;
};
【问题讨论】:
-
不。你所拥有的是你需要做的方式(忽略
Bar需要在Foo之前定义它才能实际编译) -
bprivate不是有原因的吗? -
@CinCout 有选择地桥接到
b上的某些方法是一种相当常见的模式。 -
无关:据我所知
Bar b;从未做过劳伦b.call();娃娃。