构造函数3
#include<iostream>
using namespace std;
class MM
{
public:
//MM() = default; //显式使用默认构造函数
//MM() = delete; //删掉默认的构造函数
MM(string name,int age)
{
m_name = name;
m_age = age;
cout << "两个参数的构造函数" << endl;
}
MM();
void printMM()
{
cout << m_name << "\t" << m_age << endl;
}
protected:
string m_name;
int m_age;
};
MM::MM()
{
cout << "调用无参构造函数" << endl;
}
//当结构体里写构造函数时,这个结构体就要当类来看
struct Boy
{
string name;
int age;
int num;
Boy(string bname, int bage)
{
name = bname;
age = bage;
}
};
int main()
{
MM mm("老婆", 22); //创造对象的过程就是对象调用构造函数的过程
mm.printMM();
MM empty; //调用无参构造函数
MM* p1 = new MM; //调用无参的
MM* p2= new MM("老婆2号",18);//调用有参的
Boy boy = { "老公",12 }; //这个数据必须和构造函数一致
return 0;
}