為什么函數不能直接寫在外面呢???求教啊
#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:
? ? void setName(string m_strName);
? ? string getName();
private:
? ? string m_strName;
};
Student::Student()
{
? ? m_strName = "";
}
Student::Student(string _name):m_strName(_name){}
Student::Student(const Student &stu){}
Student::~Student(){}
? ??
void Student::setName(string _name)
{
? ? m_strName = _name;
}
string Student::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;
}
2018-08-07
你沒有在類里面聲明的函數,在類外面是實現不了的,要在類里面聲明構造函數Student()和其他你要在外面實現的函數。