当前位置:  开发笔记 > 编程语言 > 正文

如何根据用户输入创建模板对象?

如何解决《如何根据用户输入创建模板对象?》经验,为你挑选了0个好方法。

我已经使用模板制作了一个基于数组的队列,以便用户可以确定队列中保存的数据类型,但是我无法弄清楚如何收集输入,然后从中创建该数据类型的队列。

这是我的队列

    #include 
using namespace std;

template

class Queue
{
private:
   unique_ptr queueArray;
   int queueSize;
   int front;
   int rear;
   int numItems;
public:
   Queue(int);
   itemType peekFront();
   void enqueue(itemType item);
   void dequeue();
   bool isEmpty() const;
   bool isFull() const;
   void clear();
};

我已经尝试过这种方法以及其他许多方法,但是无法弄清楚如何分辨用户输入的数据类型,然后使用该类型的数据创建队列。

    int main()
{
    const int MAXSIZE = 5;
    int choice;

    cout << "1. integer queue\n" << "2. string queue\n" << "3. float queue\n";
    choice = menu();

    if(choice == 1)
    {
        Queue newQueue(MAXSIZE);
        int data;
    }
    else if(choice == 2)
    {
        Queue newQueue(MAXSIZE);
        string data;    
    }
    else if(choice == 3)
    {
        Queue newQueue(MAXSIZE);
        float data;     
    }
    else
        cout << "Number needs to be 1-3." << endl;

    cout << "Enter an item to add" << endl;
    cin >> data;

    newQueue->enqueue(data);

谢谢大家的帮助!我差不多完成了,但是现在我有了所有虚函数,如何调用peekFront()?由于虚函数不能返回itemType正确吗?

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有