C++ 方法与类的链接

标签 c++ oop c++11 method-chaining

我正在尝试进行方法链接,但是,我不想使用“Foo”中的方法,而是想要一个类的构造函数(它是从基类继承的):

class Bar {

public: 

Bar() {
    std::cout << "This is bar";
}

 };

 class Foo : public Bar {

    public:
    Foo() {
        cout << "This is foo";
    }
 };

所以我的主要内容如下所示:

Foo f = Foo().Bar();

为什么这在 C++/C++11 中是不可能的?另外,有没有一种方法可以集成这个标准,或者我是否必须在“Foo”中创建一个方法来调用“Bar”的构造函数?

编辑:

class Bar {
public: 
Bar() {
}

Bar& Options() {
    cout << "sf";
    return *this;
}
 };

class Foo : public Bar {

public:
    Foo() {

    }
  }; 

然后在主要部分:

Foo F = Foo().Options();

最佳答案

您更新的问题是非法的,因为 Bar::Options() 返回对 Bar 的引用,并且您没有提供转换 Bar 的方法Foo 对象。

关于C++ 方法与类的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725072/

相关文章:

c++ - 我该如何制作这个有效的 xml?

java - 创建一个包含大量静态字段的常量类是否可以?

c++ - 动态构建模板参数包

c++ - 不同类的不可访问基面向对象编程c++

c++ - 为包含动态分配的数组成员的类编写析构函数 C++

c# - 识别本地网络上的用户和机器

c# - 是否有任何免费的 C++ 和/或 C# 编译器可以在支持 Android 的平板电脑上运行?

javascript - 面向对象的 JS - 没有全局变量?

design-patterns - 我的代码去哪里了? Controller 、服务还是模型?

c++ - boost 与标准原子顺序一致性语义