为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下这里哪里错了。。。

#include <iostream>
#include <string>
using namespace std;
/**
 * 定义类:Student
 * 数据成员:m_strName
 * 无参构造函数:Student()
 * 有参构造函数:Student(string _name)
 * 拷贝构造函数:Student(const Student& stu)
 * 析构函数:~Student()
 * 数据成员函数:setName(string _name)、getName()
 */
class student
{
private:
    string m_strName;
public:
    student(){m_strName="";}
    student(string _name){m_strName=_name;}
    student(const student& stu){};
    ~student(){};
    void setName(string _name){m_strName=_name;}
     string getName(){return m_strName;}
   
    };
   


int main(void)
{
    // 通过new方式实例化对象*stu
    Student *stu = new student;
    // 更改对象的数据成员为“慕课网”
 stu->setName("慕课网");
    // 打印对象的数据成员
 cout<<stu->getName()<<endl;
    delete stu;
    stu=NULL;
 return 0;
}


正在回答

1 回答

你定义的类名是小写的。为何创建对象时要大写?

0 回复 有任何疑惑可以回复我~
#1

相知烟云 提问者

对了。。。谢谢了。。。感慨啊,细节很重要。
2015-08-07 回复 有任何疑惑可以回复我~
#2

相知烟云 提问者

不过我还是想请问你一下,前面的有参构造函数和无参构造函数到底有什么用呢?那两个我还是不太理解。
2015-08-07 回复 有任何疑惑可以回复我~
#3

AAnonymous 回复 相知烟云 提问者

这个就是函数重载,你可以 new student(); 也可以 new student(name); 他会自动根据你的参数列表去匹配对应的构造函数。 另外,语法错误一般IDE都可以检查出来,你可以下个IDE去写,比如 Visual Studio 2015 Community
2015-08-07 回复 有任何疑惑可以回复我~
#4

相知烟云 提问者 回复 AAnonymous

好的,谢了。
2015-08-07 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103410    人
  • 解答问题       701    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

请问一下这里哪里错了。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信