提问者:小点点

C++构造函数:为什么不打印这个变量? [已关闭]


作为一个C++的初学者,我一直在尝试构造函数以获得对类的进一步理解。 这是我制作的一个名为“Student”的类,它带有一个构造函数,该函数使用类的一个变量,即string Name。 我在main函数中创建了类的一个对象,标题为'bill',并在main函数中定义了它的'name'变量1。

因此,当我构建和运行这个程序时,它将打印在构造函数中编写的短语,但我为'name'变量输入的值除外。 控制台输出。

这是为什么? 有什么可以做的吗? 这是我应该避免的事情吗?


共1个答案

匿名用户

构造函数在对象初始化时执行。 在这种情况下,初始化是在变量声明上完成的,这是在赋值之前完成的。

要解决这个问题,您应该在构造函数中添加一个参数来获取要打印的名称,并使用该参数来初始化name

class Student {
    public:
        string name;
        string major;
        double gpa;

        Student(const string& n = "") : name(n) {
            coust << "Hello, my name is " << name << endl;
        }

};

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(c++|构造|函数|打印|变量|关闭)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?