gpt4 book ai didi

c++ - 如何使函数在不同时间调用时返回不同的字符串? C++

转载 作者:太空宇宙 更新时间:2023-11-04 16:15:29 27 4
gpt4 key购买 nike

Fox 类中,我需要构建一个函数并返回一个字符串。假设 Fox* fox = new Fox(); 要求是:

    std::string thing1 = fox->say();
std::string thing2 = fox->say();

thing1 !=thing2

那么我该如何实现呢?

我尝试了下面的代码,但它有一些错误:error: ‘foxWords’ does not name a type

class Fox : public Canid{
public:
Fox(){
int a = 0;
std::vector<string> foxWords;
foxWords.push_back("words1");
foxWords.push_back("words2");

}; // constructor is needed


string say(){
a+=1;
return foxWords.at(a%2);
}
string name(){
return "fox";
}
};

感谢 bwtrent,我认为你是对的。我修改了上面的代码并返回错误‘foxWords’未在此范围内声明 是否因为 string say() 函数派生自虚函数? Fox 的父函数中的 say 函数必须设为虚函数。

最佳答案

您正朝着正确的方向前进,但是,您应该在构造函数中将元素推送到 vector 中。创建您的构造函数,推送那些相同的元素,您应该可以开始了。

你不能像现在这样推送项目,它必须在函数内部完成(可能是构造函数)。

关于c++ - 如何使函数在不同时间调用时返回不同的字符串? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245085/

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