還有一個初始化列表之所以必要的原因老師沒講,當我們要在一個大類中實例化一個其他類的對象時,這個其他類又是含參的構造函數,如下:
class ABC
...{
public:
ABC(int x,int y,int z);
private:
int a;
int b;
int c;
};
class MyClass
...{
public:
MyClass():abc(1,2,3)...{}
private:
ABC abc;
};
class ABC
...{
public:
ABC(int x,int y,int z);
private:
int a;
int b;
int c;
};
class MyClass
...{
public:
MyClass():abc(1,2,3)...{}
private:
ABC abc;
};
2016-12-07
class Student{
public:
Student(){};
Student(string _name){m_strName = _name;};
Student(const Student& stu){m_strName = stu.m_strName;};
~Student(){};
void setName(string _name){ m_strName =_name;};
string getName(){return m_strName;};
private:
string m_strName;
};
public:
Student(){};
Student(string _name){m_strName = _name;};
Student(const Student& stu){m_strName = stu.m_strName;};
~Student(){};
void setName(string _name){ m_strName =_name;};
string getName(){return m_strName;};
private:
string m_strName;
};
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
char*m_strName;
int m_iAge;
};
int main()
{
Student stu;
stu.m_strName = "慕課網";
stu.m_iAge = 2;
cout << stu.m_strName << " " << stu.m_iAge<< endl;
system("pause");
return 0;
}
#include <string>
using namespace std;
class Student
{
public:
char*m_strName;
int m_iAge;
};
int main()
{
Student stu;
stu.m_strName = "慕課網";
stu.m_iAge = 2;
cout << stu.m_strName << " " << stu.m_iAge<< endl;
system("pause");
return 0;
}