gpt4 book ai didi

C++ .exe 忽略类,只运行 main (初学者)

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

它只运行 main,输出“Enter a word”但完全忽略了对象/类

我是新手,如果这是一个不太简单的问题,我深表歉意。这在发布和 Debug模式下都会发生

#include <iostream>

using namespace std;

class WordGame
{
public:

void setWord( string word )
{
theWord = word;
}
string getWord()
{
return theWord;
}
void displayWord()
{
cout << "Your word is " << getWord() << endl;
}
private:
string theWord;
};


int main()
{
cout << "Enter a word" << endl;
string aWord;
WordGame theGame;
cin >> aWord;
theGame.setWord(aWord);
theGame.displayWord();

}

最佳答案

您需要输入一个单词,然后按回车键。你说“它退出程序,没有任何反应”,但确实发生了一些事情。它发生得如此之快,您可能确实看到它发生并且程序关闭。如果你处于 Debug模式并且想要一个“按键退出消息”然后做

 system("PAUSE");

之后

theGame.displayWord();

你会看到你的 cout 显示。

此外,您的代码还存在一些优化和错误。

  1. 您缺少来自 main 的返回值。
  2. 对于 setWord,您应该通过 const 引用传递,因此函数应该是。

void setWord(const string& word)

  1. 对于 getWord 你应该通过 const 引用返回,所以函数是

string getWord()

有关通过 const 引用传递的更多信息,请查看 Passing arguments by reference .

关于C++ .exe 忽略类,只运行 main (初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135423/

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