【发布时间】:2018-10-07 12:25:28
【问题描述】:
我使用模板在 C++ 中创建了一个堆栈类。程序首先询问要在堆栈中输入的数据类型,例如。 int、float、char 等 我怀疑我是否创建了两个对象,例如,
Stack<int> obj_integer(size);
Stack<char> obj_character(size);
其中 Stack 是使用模板的用户定义类,而 size 是用户传递的堆栈的大小。然后我将如何将对象“obj_integer”类型转换为对象“obj_character”。那就是我希望 obj_integer 现在采用 char 类型数据而不是整数类型。
【问题讨论】:
-
你不能。 C++ 不能以这种方式工作。您必须从头开始创建一个新对象,并对其进行适当的初始化。 C++ 不会为您做任何事情,您必须自己做。当然,如果你编写了适当的模板构造函数或赋值运算符,你当然可以说“obj_integer=obj_character”并让它像那样工作,但你必须自己编写实现它的赋值运算符。 C++ 不会为你做这件事。