#include<iostream>
#include<string>
using namespace std;
//构造函数的分类及调用
//按照参数 有参和无参
//按照类型分类 普通构造 和 拷贝构造
class person
{
public:
person()//无参构造函数
{
cout << "person的构造函数调用" << endl;
}
person(int a)//有参构造函数
{
cout << "person的有参构造函数调用" << endl;
}
//拷贝构造函数
person(const person & p)
{
cout << "person的kaobei构造函数调用" << endl;
}
};
void test01()
{
//1.小括号法
//person p1;
//person p2(10);
//person p3(p2);
// person p1();//编译器认为是一个函数的声明,不会认为在创建对象
//2.显式法
person p1;
person p2 = person(10);//有参构造
person p3 = person(p2);//拷贝构造
//不要利用拷贝函数初始化匿名对象 编译器会认为person(p3)==person p3
// person(p3);//error
//3.隐式转换法
person p4 = 10;//相当于谢了person p4=person(10)
}//注意事项 调用默认构造函数的时候,不要加()
int main()
{
test01();
system("pause");
return 0;
}
构造函数的分类及调用
于 2022-04-06 13:25:00 首次发布