震惊,c++类中还能这样搞!!

img


为什么在类内创建其他类的对象时不用调用有参的构造函数,而在main函数中需要构造,在main中报错了

因为你在person类中只完成了对phone类型属性的声明,并没有赋值,因此不需要调用phone的构造函数;但是,你的main()函数想要获得可用的phone对象,必须调用其构造函数去构造一个新对象。通常来说,你应该为person类创建一个构造函数,在构造函数中调用phone的构造函数为person的对应属性赋值,或者直接传入已创建的phone类型对象。
如果我的回答对你有帮助,还望采纳!