如何使用堆栈(push,pop,top)向后存储和输出字符串?

时间:2020-04-14 16:59:48

标签: c++

我已经将头文件和成员函数定义存储在两个单独的文件中。我不知道如何在主文件中完成这一部分。

在main()

(i)要求用户输入一个句子。

(ii)使用cin.get(ch)读取句子的每个字符ch,然后将ch插入堆栈 (push())。

(iii)阅读整个句子并将所有字符插入堆栈后,使用堆栈的成员函数(top()和pop())向后打印该句子。

输出示例

请输入一个句子:这是一个例子!

!elpmaxe sisiT

这是我到目前为止在主文件中拥有的内容。它无法运行,我不知道如何存储用户str输入,而且linkedStackType也给我带来了问题:'对'linkedStackType的未定义引用

#include "linkedStackType.h"
#include <iostream>
using namespace std;

int main()
{
    linkedStackType<char> myStack;
    const int SIZE = 100;
    char ch[SIZE];

    cout << "Please enter a sentence: ";
    cin.get(ch, SIZE);

    return 0;
}

1 个答案:

答案 0 :(得分:0)

您收到的错误是由于链接器不知道如何查找与您在main函数中使用的linkedStackType实体(我想是类或结构)相关的二进制文件这一事实:

如果linkedStackType是由您编写的简单cpp文件定义的,那么请确保将其添加到正在编译的项目中, 如果已经添加了文件,请确保未在名称空间内定义实体linkedStackType(否则,在引用诸如诸如lst :: linkedStackType myStack之类的linkedStackType时,必须指定名称空间)。