构造函数详解

构造函数的分类和调用:
两种分类方式:
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;
}

posted @ 2025-04-03 13:36  噫~该死的碳酸饮料  阅读(27)  评论(0)    收藏  举报