-
初始化列表,會(huì)先于構(gòu)造函數(shù)進(jìn)行。
先執(zhí)行初始化列表,再執(zhí)行構(gòu)造函數(shù)的代碼
初始化列表可以同時(shí)初始多個(gè)數(shù)據(jù)成員
查看全部 -
函數(shù)可以只生命不實(shí)現(xiàn)(語(yǔ)法也不會(huì)報(bào)錯(cuò)),但不實(shí)現(xiàn)是不能使用該函數(shù)的
查看全部 -
棧上申請(qǐng)內(nèi)存? Class object? 或者 Class object[20] 訪問(wèn)方法或者屬性使用“.”操作符
對(duì)上申請(qǐng)內(nèi)存使用指針 = new Class()或者[20]的方式,訪問(wèn)方法或者屬性使用“->”操作符
查看全部 -
getline(cin,name);
查看全部 -
析構(gòu)函數(shù)釋放掉堆中成員
查看全部 -
指針實(shí)例化一個(gè)對(duì)象,也可以實(shí)例化一個(gè)對(duì)象數(shù)組,如果是數(shù)組就需要【】
查看全部 -
析構(gòu)函數(shù),完整
#include <iostream>
#include <string>
using namespace std;
/**
?* 定義類(lèi):Student
?* 數(shù)據(jù)成員:m_strName
?* 無(wú)參構(gòu)造函數(shù):Student()
?* 有參構(gòu)造函數(shù):Student(string _name)
?* 拷貝構(gòu)造函數(shù):Student(const Student& stu)
?* 析構(gòu)函數(shù):~Student()
?* 數(shù)據(jù)成員函數(shù):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()
{
? ? cout<<"Student()"<<endl;
? ? m_strName ="jim";
}
Student::Student(string _name):m_strName(_name)
{
? ? cout<<"Student(string _name)"<<endl;
}
Student::Student(const Student &stu)
{
? ? cout<<"Student(const Student &stu)"<<endl;
? ? m_strName ="jack";
}
Student::~Student()
{
? ? cout<<"~Student()"<<endl;
}
void? Student::setName(string _name)
?{
? ? ?m_strName=_name;
?}
string Student::getName()
?{
? ? ?return m_strName;
?}
int main(void)
{
? ? // 通過(guò)new方式實(shí)例化對(duì)象*stu
? ? Student *stu = new Student();
? ? // 更改對(duì)象的數(shù)據(jù)成員為“慕課網(wǎng)”
? ? stu->setName("慕課網(wǎng)");
cout<<stu->getName()<<endl;
? ? // 打印對(duì)象的數(shù)據(jù)成員
Student stu1;
cout<<stu1.getName()<<endl;
Student stu2("marry");
cout<<stu2.getName()<<endl;
Student Stu3(stu1);
cout<<Stu3.getName()<<endl;
delete stu;
stu=NULL;
return 0;
}
查看全部 -
public 和private 都要小寫(xiě),然后加冒號(hào)
class 類(lèi)內(nèi)聲明函數(shù)時(shí)候不用 加入{} 否則后面定義會(huì)沖突
注意上下定義名稱是否一致
初始化列表 賦值參數(shù) 要用括號(hào)
Student::Student(string _name):m_strName(_name)
{
? ? cout<<"Student(string _name)"<<endl;
}
查看全部 -
void? Student::setName(string _name)
?{
? ? ?m_strName=_name;
?}
string Student::getName()
?{
? ? ?return m_strName;
?}
定義函數(shù)時(shí)候返回值要寫(xiě)??!
查看全部 -
數(shù)據(jù)成員的
查看全部 -
擔(dān)心類(lèi)名重名,可以在啟航篇定義命名空間,
查看全部 -
對(duì)象生命歷程
查看全部 -
析構(gòu)函數(shù)的
查看全部 -
拷貝函數(shù)在參數(shù)傳遞時(shí)候也會(huì)自動(dòng)調(diào)用
查看全部 -
構(gòu)造函數(shù)總結(jié)
查看全部
舉報(bào)