永发信息网

嵌套类是如何完成构造函数的 C++

答案:3  悬赏:30  手机版
解决时间 2021-03-15 10:32
  • 提问者网友:咪咪
  • 2021-03-15 07:35
也就是类中类,比如
class a
{
public:
class b
{
...........
};
............
}

应该如何写类的构造函数,写在那里那?还请给出简单示例,多谢!!!
问题已解决,原来就是直接写在头文件中,是我想复杂了!如下例,模拟STL中的LIST
template class DoubleLinkedList
{ private:
struct Item
{ T data;
Item* pred;
Item* succ; };
Item* first;
Item* last;
。。。。。。。
public:
~DoubleLinkedList()
{ Item* current = this->first;
while (current != NULL)
{ Item* tmp = current->succ;
delete current;
current = tmp; }
}
void push_back(T& data)
{ Item* i = new Item();
i->data = data;
i->pred = this->last;
i->succ = NULL;
。。。。。。。
} }
void prinf(int index)
{ Item* i=getItem(index);
cout<data< class Iterator {
private: Item* current;
public:
Iterator() // standard Konstrukor
{ this->current=NULL; }
~Iterator()};
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-03-15 08:28
没有像你这样在类中“定义”一个新类的,都是直接用其他类的对象。
class A
{
public:
A(int);
private:
。。。
};
class B
{
public:
B(int,int);
private:
A theb; //B类中有一个成员是A类的对象
};
B的构造函数的写法
B::B(int num1,int num2):A(num1) //在这里调用A类的构造函数进行初始化
{
。。。
}
全部回答
  • 1楼网友:迟山
  • 2021-03-15 10:22
构造函数通常用于在实例化对象时自动对内部数据成员初始化,设置初始值、分配内存空间等。   而析构函数则用于删除对象时做收尾工作,比如释放申请的空间等。   要创建一个对象,就得调用构造函数。   要销毁一个对象,就会被迫的调用析构函数。   如果成员函数声明称static,不创建对象也能调用 静态成员函数。
  • 2楼网友:酒安江南
  • 2021-03-15 08:43
unlimitedarray类在哪个头文件?是否包含该头文件? 另外最好把编译器给出的错误贴出来。 我的问题是encoder类所在的头文件是否包含了untimitedarray所在的头文件? 比如encoder在a.h,untimitedarray在b.h,那么 在encoder类的顶部要#include "b.h"
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯