請問哪里錯了?
#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 {
public:
? ? Student() ;
? ? Student(string _name);
? ? Student(const Student&stu);
? ? ~Student();
? ? void setName(string _name){
? ? ? ? ?m_strName=_name;
? ? }
? ? string getName(){
? ? ? ? return m_strName;
? ? }
private:
? ? ?string? m_strName;
};
int main(void)
{
? ? // 通過new方式實例化對象*stu
? ? Student *stu = new Student();
? ? // 更改對象的數據成員為“慕課網”
? ? stu->setName("慕課網");
? ? // 打印對象的數據成員
? ? cout<<stu->getName()<<endl;
? ? delete stu;
? ? stu = NULL;
? ? return 0;
}
2019-07-16
樓上說的對 ,你沒有{}就相當于這是函數聲明,但是你沒有在其他地方定義所以會報錯,加了{}就是函數定義了,{}里面可以是空但是大括號不能沒有。你的構造函數析構函數應該全要加上{}。
2019-06-28
構造方法不寫具體方法也要加上{},視頻演示的時候,因為類是定義在頭文件中的,所以只需要規定方法名和參數,具體在另外一個文件中實現該方法
Student(){} ;
? ? Student(string _name){};
? ? Student(const Student&stu){};
? ? ~Student(){};