C++递归地在类构造函数中创建对象
C++ create objects in the class constructor recursively
嗨,我正在做作业,我这里有一个问题。
我有一个类,定义是:
class WebNode
{
private:
char* m_webAddress;
char* m_anchorText;
WebNode** m_hyperlink;
int m_numOfHyperlinks;
public:
// CONSTRUCTOR member function
WebNode(const char* webAddress, const char* anchorText, int height);
// DESTRUCTOR member function
~WebNode();
// ACCESSOR member functions
// not important
};
我正在研究构造函数:WebNode::WebNode(const char* webAddress, const char* anchorText, int height) {}
.构造函数应首先基于构造函数参数设置私有成员,然后应根据超链接递归创建新的WebNode
对象。但我不能这样做,因为如果我在构造函数中使用new WebNode
它会说no matching constructor for initialisation of WebNode
.
那么如何在构造函数中创建新对象呢?
无论是在构造函数中还是在其他地方创建对象,都需要一个匹配的构造函数来进行调用。当您尝试通过以下方式创建对象时
new WebNode();
然后Webnode
需要一个默认构造函数(即可以在没有参数的情况下调用的构造函数(。
class WebNode
{
private:
char* m_webAddress;
char* m_anchorText;
WebNode** m_hyperlink;
int m_numOfHyperlinks;
public:
WebNode(const char* webAddress, const char* anchorText, int height);
WebNode(); // <-----------
~WebNode();
};
我不能修改类定义,还有其他方法吗?
构造实例时传递参数:
new WebNode(some_web_address,some_anchor_text,h);
相关文章:
- 通过构造函数创建的所有对象都具有相同的向量
- 通过向构造函数其他对象引用页面来创建对象
- C++ 创建不带默认构造函数的对象数组
- 尝试使用构造函数创建对象时出错
- 为什么私有构造函数阻止对象创建C++
- C++ - 类构造函数创建对象,但构造的结果不同
- 创建独立于构造函数的对象指针
- 我们可以说构造函数创建对象
- 如何使用在另一个类的构造函数中的堆栈上接受参数的构造函数创建对象
- 正在中断构造函数中对象的创建
- 构造函数创建const对象
- 使用基构造函数创建派生对象
- 创建一个具有空构造函数的对象
- 使用函数中的复制构造函数创建实例的副本,该函数获取作为基对象传递的实例
- 递增由向 boost::p ython 公开的构造函数创建的对象的引用计数
- 创建一个没有默认构造函数的对象数组
- 通过使用不同的构造函数创建对象,并最终释放对象的内存
- 构造函数和对象创建中的"this"
- 使用构造函数创建对象时出错
- 如何使用带参数的构造函数创建对象