构造函数详解
构造函数的分类和调用:
两种分类方式:
1.按参数分:有参构造和无参构造(默认构造函数)
2.按类型分:普通构造和拷贝构造
三种调用方法:
1.括号法
2.显示法
3.隐式转换法
#include<iostream>
#include<string>
using namespace std;
class Person
{
private:
string m_name;
public:
Person()
{
cout << "调用无参构造函数" << endl;
}
Person(string name)
{
m_name = name;
cout << "调用有参构造函数" << endl;
}
Person(const Person& p)
{
this->m_name = p.m_name;
cout << "调用拷贝构造函数" << endl;
}
~Person()
{
cout << "调用析构函数" << endl;
}
};
void test()
{
/*
三种调用方式:
1.括号法
2.显示法
3.隐式转换法
*/
//括号法
Person p1;
Person p2("若山诗音");
Person p3(p2);
//显示法
Person p4 = Person("早见沙织");
Person p5 = Person(p4);
//隐式转换法
string name = "喵酱";
Person p6 = name;
Person p7 = p6;
}
int main()
{
test();
return 0;
}


浙公网安备 33010602011771号