学习黑马程序员C++类对象作为类成员时
类person内包含一个phone类成员
person写了默认构造和有参构造 而phone只写了有参构造
下面调用person初始化了一个成员,为什么提示phone类没有默认构造函数?我也没有调用啊
而且当去掉person默认构造函数后就不报错了 求各位指导
#include <iostream>
using namespace std;
#include <string>
class phone
{
string pname;
public:
phone(string inputname):pname(inputname)
{
cout << "phone有参构造函数的调用" << endl;
}
~phone()
{
cout << "phone析构函数的调用" << endl;
}
};
class person
{
string myname;
phone myphone;
public:
person()
{
}
person(string name, string ppname) :myname(name),myphone(ppname)
{
cout << "person有参构造函数的调用" << endl;
}
~person()
{
cout << "person析构函数的调用" << endl;
}
};
int main()
{
person p("张三","xiaomi");
system("pause");
return 0;
}