还有一个初始化列表之所以必要的原因老师没讲,当我们要在一个大类中实例化一个其他类的对象时,这个其他类又是含参的构造函数,如下:
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;
}