gpt4 book ai didi

c++ - "this"不能作为函数使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:38 25 4
gpt4 key购买 nike

在 C++ 中,我试图模拟 Java 如何处理对其构造函数的调用。在我的 Java 代码中,如果我有 2 个不同的构造函数并且想要一个调用另一个,我只需使用 this 关键字。示例:

public Constructor1(String s1, String s2)
{
//fun stuff here
}

public Constructor2(String s1)
{
this("Testing", s1);
}

使用此代码,通过使用 Constructor2(传入单个字符串)实例化一个对象,它随后将只调用 Constructor1。这在 Java 中非常有效,但我如何在 C++ 中获得类似的功能?当我使用 this 关键字时,它会提示并告诉我 'this' cannot be used as a function

最佳答案

这在 C++11 中通过构造函数委托(delegate)成为可能:

class Foo {
public:
Foo(std::string s1, std::string s2) {
//fun stuff here
}

Foo(std::string s1) : Foo("Testing", s1) {}
};

关于c++ - "this"不能作为函数使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6681520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com