#include<iostream>
#include<string>
using namespace std;
class Teacher
{
public:
Teacher(string name="Jam",int age=1,int m=1000):m_strName(name),m_iAge(age),m_iMax(m)
//注意这里没分号,列表初始化赋值不能用=号,用()
{
cout<<" Teacher列表初始化"<<endl;
}
Teacher(const Teacher &tea):m_iMax(1000)
//这里是定义拷贝构造函数,格式必须是const、本类、以及引用!
//如果不定义拷贝构造函数,系统默认定义!!
//而且这里要注意一定要列表初始化const常量m_iMax,不然会报错!!
//因为拷贝构造函数只是简单的复制,而m_iMax是不能被二次赋值的!
{
cout<<"这里是拷贝构造函数"<<endl;
}
string getName()
{
return m_strName;
}
int getAge()
{
return m_iAge;
}
int getMax()
{
return m_iMax;
}
private:
string m_strName;
int m_iAge;
const int m_iMax;//当类成员是常量,const修饰,则不能用默认初始化,用列
表初始化!!
}; //注意分号
int main()
{
Teacher t;
cout<<t.getName()<<" "<<t.getAge()<<" "<<t.getMax()<<endl;
}