如果类成员来自另一个类,如何完成构造函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果类成员来自另一个类,如何完成构造函数?相关的知识,希望对你有一定的参考价值。

例如,我有两个类Array和Stack。

template <typename T>
class Array {
private:
T* array;
int size;
...
public:
Array(int size);
...
}

template <typename T>
class Stack {
private:
int top;
Array<T> stack;
...
public:
Stack(int size);
...
}

基本上我正在使用Array类实现Stack类。如何在Stack构造函数中定义堆栈成员变量(Array <T>)?

答案
Stack::Stack(size_t size) : stack (size) {}

另外,不要将int用于容器大小或迭代器;除非有特殊原因,否则请使用size_t。

以上是关于如果类成员来自另一个类,如何完成构造函数?的主要内容,如果未能解决你的问题,请参考以下文章

在构造函数代码之前禁用默认类成员初始化

基类构造函数的派生类成员初始化

包含另一个类作为成员变量的类的构造函数

使用来自另一个类实例的函数指针调用成员函数

C ++:如何在派生类中定义基类构造函数,如果基构造函数具有带有私有成员的初始化列表[重复]

这是为成员函数的 C++ 模板部分特化构造类的好方法吗?