问题描述
- 调用哪个构造函数?C++,结构体
-
struct LinkNode { T data; //数据域 LinkNode<T>*link; //链指针域 LinkNode(LinkNode<T> *ptr =NULL) {link=ptr;} LinkNode(const T&item,LinkNode<T> *ptr=NULL) { data=item; link=ptr; } };
如果有下面代码
T value;
LinkNode *desptr=first=new LinkNode;
desptr->link=new LinkNode(value);它调用的是LinkNode的哪个构造函数?为什么呢?
解决方案
LinkNode *desptr=first=new LinkNode;
这个调用第一个
desptr->link=new LinkNode(value);
这个调用第二个
输入参数有默认值,使用时可以省略。
解决方案二:
C++构造函数的调用
c++ 结构体 构造函数
C++调用基类的构造函数
时间: 2024-09-26 02:15:28