用另一个函数(都在类中)调用函数时出现问题。没有错误代码 C++

Posted

技术标签:

【中文标题】用另一个函数(都在类中)调用函数时出现问题。没有错误代码 C++【英文标题】:Problem with calling a function with another function (both within classes). No error codes C++ 【发布时间】:2019-12-05 05:57:58 【问题描述】:
class DatingSim

public:
    string userName;
    int userAge;
    int day1Place;
    string places[4] =  "Coffee Shop", " Duck Pond", "Club" , "Class";
    string dayOneA = "W E L C O M E  T O  D A T I N G  G A M E";


    void slowPrint(string str, int time)
    
        for (size_t i = 0; i != str.size(); ++i) 
        
            cout << str[i];
            Sleep(time);
        
    
    void dayOne();

void DatingSim::dayOne()


    slowPrint(dayOneA, 250);
    cout << endl;

... other code (just cout stuff shouldn't be a problem)


int main()

    DatingSim NEWGAME;
    NEWGAME.dayOne();

    return 0;

因此,以前我使用的是字符串数组,而不是慢速打印函数参数的字符串,但它不起作用,所以我切换到字符串,但它不起作用。我对它进行了测试,当它不在一个班级时它可以工作。我不应该使用课程吗?我正在创建一个小游戏,我宁愿能够使用一个类。当我尝试运行时,没有错误消息只是说 FAILED。

【问题讨论】:

你可能需要在每个字母后flushstdout。 【参考方案1】:

按照建议,您需要在每个字母之后刷新输出流,否则您会看到最后打印出整个字符串。

#include <chrono>
#include <iostream>
#include <string>
#include <thread>

using namespace std;

class DatingSim 
public:
    string userName;
    int userAge;
    int day1Place;
    string places[4] =  "Coffee Shop", " Duck Pond", "Club" , "Class";
    string dayOneA = "W E L C O M E  T O  D A T I N G  G A M E";

    void slowPrint(string str, int time)
    
        for (size_t i = 0; i != str.size(); ++i) 
        
            cout << str[i] << flush;
            this_thread::sleep_for(chrono::milliseconds(time));
        
    

    void dayOne()
    
        slowPrint(dayOneA, 250);
        cout << endl;
    
;

int main()

    DatingSim NEWGAME;
    NEWGAME.dayOne();
    return 0;

【讨论】:

刷新是什么意思?如果我使用 window.h 代替睡眠,它仍然可以工作吗?

以上是关于用另一个函数(都在类中)调用函数时出现问题。没有错误代码 C++的主要内容,如果未能解决你的问题,请参考以下文章

在类中使用自定义排序时出现编译错误 [重复]

c++(在类中)执行buf=new char[i];delete []buf; 为啥没有调用构造和析构函数?

在类中滚动 UIScrollBar 组件时出现问题

创建函数变体向量时出现“调用没有匹配函数”错误

尝试在类构造函数中初始化 std::thread 时出现编译器错误 C2064 [重复]

想调用父类中的有参构造函数