gpt4 book ai didi

c++ - 在 C++ 中返回一个字符串作为私有(private)继承类

转载 作者:行者123 更新时间:2023-11-28 02:28:00 27 4
gpt4 key购买 nike

我有一个私有(private)继承 std::string 的类。我想要一个返回作为基类的 string 的成员函数。我该怎么做?

class NewClass() : private std::string
{
...
public:
std::string GetString() const;
...
};

std::string NewClass::GetString() const
{
???
}

最佳答案

您最好将 std::string 保留为 NewClass 的私有(private)成员。所以你会把它声明为:

class NewClass
{
private:
std::string str;
...
public:
std::string GetString() const;
};
...
std::string NewClass::GetString() const
{
return str;
}

但是如果你真的需要继承std::string你可以这样做

std::string NewClass::GetString() const
{
return *this;
};

但请注意,这会删除派生类的任何部分。做这样的事情会更好:

const std::string& NewClass::GetString() const
{
return *this;
};

这将返回对 std::string NewClass 继承自的引用。

关于c++ - 在 C++ 中返回一个字符串作为私有(private)继承类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870073/

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