亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

默認的構造函數不能在類體外定義嗎?我這樣會報錯,但是把它放回類體內就通過了

#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);
?????string?getName();
?????private:
?????string?m_strName;
?};
Student::Student()
{
????m_strName="Jim";
????cout<<"Student()"<<endl;
}
Student::Student(string?_name)
{
????m_strName=_name;
????cout<<"Student(string?_name)"<<endl;
}
Student::Student(const?Student&?stu)
{
????cout<<"Student(const?Student&?stu)"<<endl;
}
Student::~Student()
{
????cout<<"~Student()"<<endl;
}
void?Student::setName(string?_name)
{
????m_strName=_name;
????cout<<"setName(string?_name)"<<endl;
}
string?Student::getName()
{
????cout<<"getName()"<<endl;
????return?m_strName;
}


int?main(void)
{
????//?通過new方式實例化對象*stu
????Student?*stu?=?new?Student();
????//?更改對象的數據成員為“慕課網”
	stu->setName("慕課網");
????//?打印對象的數據成員
	cout<<stu->getName();
	delete?stu;
	stu=NULL;
	return?0;
}


正在回答

1 回答

你在類中的構造函數后面的分號;用的是中文的,換成英文即可

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

慕運維8354173 提問者

好像是嚯!謝謝你啦
2017-11-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之封裝篇(上)
  • 參與學習       103391    人
  • 解答問題       732    個

封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會

進入課程

默認的構造函數不能在類體外定義嗎?我這樣會報錯,但是把它放回類體內就通過了

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號