关于这段程序中的代码的含义?请教调用的是那个构造函数
关于这段程序中的代码的含义??请问调用的是那个构造函数?
问题就是 使用成员初始化列表对iStack这个类进行成员初始化的时候,用capacity对stack这个vector<int> 类型的对象进行初始化,这个应该是一个错误啊 ,但是为什么程序能够运行起来???
stack明显是一个vector<int> 类型的对象啊 ??? 可是capacity是一个int类型的数值,那么如何使用一个int类型的数值对一个
vector<int> 类型的stack进行初始化 ?????如果是调用了构造函数 应该写 vector<int> stack();啊 !!!
------解决思路----------------------
n
Initial container size (i.e., the number of elements in the container at construction).
Member type size_type is an unsigned integral type.
#include "D:\C++WORK\main.h"
class iStack
{
public:
iStack(int capacity):stack(capacity),top(0){}
public:
int top;
vector<int> stack;
};
class iStack1
{
public:
iStack1(int capacity):stack1(capacity),top(0){}
public:
int top;
vector<int> stack1;/*【】【】问题在这里【】【】*/
};
int main()
{
iStack *ps=new iStack(20);
vector<int>::iterator iter =(*ps).stack.begin();
for (;iter!=(*ps).stack.end();++iter)
{
cout<<*iter<<" ";
}
return 0;
}
问题就是 使用成员初始化列表对iStack这个类进行成员初始化的时候,用capacity对stack这个vector<int> 类型的对象进行初始化,这个应该是一个错误啊 ,但是为什么程序能够运行起来???
stack明显是一个vector<int> 类型的对象啊 ??? 可是capacity是一个int类型的数值,那么如何使用一个int类型的数值对一个
vector<int> 类型的stack进行初始化 ?????如果是调用了构造函数 应该写 vector<int> stack();啊 !!!
------解决思路----------------------
explicit vector (size_type n, const value_type& val = value_type(),
const allocator_type& alloc = allocator_type());
n
Initial container size (i.e., the number of elements in the container at construction).
Member type size_type is an unsigned integral type.