在模板类中同时打印int和结构类型的对象

时间:2019-05-28 18:33:20

标签: c++ class struct

我的任务是编写一个可以处理int,字符串和结构类型的类。我写了类,它适用于int和字符串类型,但是我不知道如何使用相同的代码从结构中输入和打印对象。

模板类:

template <class T>
class templateWindow
{
    int size;
    T *mas;
public:
    templateWindow(int s)
    {
        size = s;
        mas = new T[size];
    }

    templateWindow(templateWindow&ob){}
    void fillArray()
    {
        cout << "input values of array:\n";
        for (int i = 0; i<size; i++)
            cin >> mas[i];
    }

    void printArray()
    {
        cout << "\narray:\n";
        for (int i = 0; i<size; i++)
            cout << mas[i] << " ";
        cout<<endl;
    }

    friend istream& operator>>(istream &s, T ob)//перегрузка для >>
    {
        s >> ob;
        return s;
    }

    friend ostream& operator<<(ostream &s, T ob)//перегрузка для <<
    {
        s << ob;
        return s;
    }
};

我怎么称呼:

templateWindow <int> templ(size);
    templ.fillArray();
    templ.printArray();
    templ.~templateWindow();

我的结构:

struct MyStruct
{
    int a;
    char c[10];
};
MyStruct structObj;

0 个答案:

没有答案