为什么我的代码运行为空(语言-c++)


#include
using namespace std;
class Movie {
private:
    string name;
    string starring;
public:
    int id;
    void setName(string name) {
        this->name = name;
    }
    string getName() {
        return getName();
    }
    Movie() {
    }
    ~Movie() {
    }
};
int main() {
    Movie m;
    m.setName("Alita");
    cout << m.getName();
    return 0;
}

14行改:

return name

string getName() {
        return getName();
    }
这里无限递归了
应该是
string getName() {
        return name;
    }

内容来源与ChatGpt4及newbing和百度:


你的代码运行为空是因为你没有在Movie类中添加任何成员函数或成员变量。你需要添加一些函数或变量来使你的代码有意义。例如,你可以添加一个构造函数来初始化电影名称和演员名称:

#include <iostream>
using namespace std;

class Movie {
private:
    string name;
    string starring;
public:
    Movie(string n, string s) {
        name = n;
        starring = s;
    }
    void printInfo() {
        cout << "Movie name: " << name << endl;
        cout << "Starring: " << starring << endl;
    }
};

int main() {
    Movie m("The Godfather", "Marlon Brando");
    m.printInfo();
    return 0;
} 

这个例子中,我们添加了一个构造函数来初始化电影名称和演员名称,并添加了一个成员函数来打印电影信息。在主函数中,我们创建一个Movie对象并调用printInfo函数来打印电影信息。


祝您问题迎刃而解

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^