我的代码的第二部分没有运行,我不熟悉使用类

The Second part of my code isn't running and i'm new to using classes

本文关键字:不熟悉 运行 代码 第二部分 我的      更新时间:2023-10-16

嘿,代码运行良好,没有任何错误,但它只是跳转到返回0。我还想指出的是,我对c++有点陌生,而且我刚开始使用类。

谢谢你的帮助!

#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
class List{
    public:
        void SetNote(string Note){
            Notepp = Note;
        }
        string getNotepp(){
            return Notepp;
        }
    private:
        string Notepp;
};

int main(){
    string x;
    cin >> x;
    List LisObj;
    LisObj.SetNote("Exit Notepad++.exe");
    if(LisObj.getNotepp() == x){
        cout << "Hello Worldn";
    }
return 0;
}

因为您使用"cin>>"来获取字符串!这是不可能的,请使用"getline"代替,"cin"使用一个空白来确定要获得的部分,例如:当您输入句子:"Exit Notepad++.exe"时,由于后面的空白,您的"x"得到的只是一个"Exit"。主要功能应该是这样的:

int main()
{
    string x;
    getline(cin,x);
    List LisObj;
    LisObj.SetNote("Exit Notepad++.exe");
    if(LisObj.getNotepp() == x)
    {
        cout << "Hello Worldn";
    }
    return 0;
}

如果你想打印"你好世界":你可以这样做:

int main(){
    string x;
    cin >> x;
    List LisObj;
    LisObj.SetNote(x);
    if(LisObj.getNotepp() == x){
        cout << "Hello Worldn";
    }
return 0;
}

现在,如果你想打印你好世界只有当用户输入"退出记事本++.exe"。不要喜欢:

cin>>x;

输入时可能包含空格。而是使用getline()cin.getline()

当您使用cin >>输入一个带有空格的字符串时,当它到达一个空格时,它将假设它是输入的末尾。

为了绕过这一点,我们使用getline()cin.getline()

此外,使用代替Return 0;

cin.sync();
cin.ignore();

如在某些情况下return 0;

不会阻止端子闭合。