c++动态创建类对象问题

Node*add=newNode(A),两个问题1、如果A是另外一个类的对象,是先调用对象A的构造函数,还是直接调用Node的构造函数2、如果A只是一个类型的值,是直接调... Node *add=new Node(A),两个问题1、如果A是另外一个类的对象,是先调用对象A的构造函数,还是直接调用Node的构造函数2、如果A只是一个类型的值,是直接调用Node的构造函数吗? 展开
 我来答
GTA小鸡
高粉答主

2019-04-08 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
new Node(A)调用哪个构造函数,取决于A的类型,如果存在对应类型或可以隐式转换成对应类型的构造函数,则调用它;如果不存在,则编译错误。
A是int则调用Node(int),A是double则调用Node(double),A是Foobar类对象则调用Node(Foobar),A是Node类对象则调用拷贝构造函数Node(const Node&)。
传递给构造函数的对象A必然已经存在,故“调用对象A的构造函数”这种情况不可能出现,构造函数用于且仅能用于构造一个新对象。
更多追问追答
追问
比如 Node的构造函数如下:Node(int n,double i):a=n,b=i{}。
对象A构造函数如下:abb(double f):c(f){},
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式