C++类模板以及保存数据到文件

C++类模板以及保存数据到文件,第1张

C++类模板以及保存数据到文件 1.题目要求:

写一个类模板,它有一个通用数组(既可作整数数组,又可作双精度小数数组,
它有三个成员函数,
其功能分别是,从键盘读取数据到数组将数组数据保存到某个文件中求数组中的最大元素

2.代码实现:
#include 
#include 
#include 
using namespace std;

template <class T>
class MyArray
{
public:

    /*从键盘读数据到数组*/
    void readData(int n)
    {
        cout<<"请输入数组:"<<endl;
        for(int i = 0;i<n; i++)
        {
            cin>>arr[i];
        }
        cout<<"输入完毕!"<<endl;
    };

    /*将数组数据保存到文件中*/
    void saveFile(int n)
    {
        ofstream file;
        file.open("xie.txt", ios::in);//打开文件,可以指定位置,在双引号里加 D:\C++语言测试\xie.txt
        if(!file)
        {
            cout<<"xyz.txt cannot open"<<endl;
            abort();//用于中止当前进程。 对于异常的程序终止–我们可以使用abort()函数 。
        }

        for (int i = 0; i < n; i++)
            file << i << "  " << fixed << setprecision(8) << arr[i] << endl;//fixed << setprecision(8)是为了保留小数点后8位进行写入

        file.close();//关闭文件,保存文件。
        cout<<"已保存到文件中"<<endl;
    };
    
    /*求数组中的最大元素*/
    void maxArray(int n)
    {
        T maxNum = arr[0];
        for(int i = 1;i<n;i++)
            if(arr[i] > maxNum)
                maxNum = arr[i];
        cout<<"max: "<<maxNum<<endl;
    }
private:
    T arr[20];//定义一个通用数组,也就是说可以存储整数数组,也可以存储浮点数数组等等
};


int main()
{
    cout<<"------------------------传入整数数据---------------------------"<<endl;
    MyArray<int> myarray1;
    myarray1.readData(5);
    myarray1.saveFile(5);
    myarray1.maxArray(5);
    cout<<"------------------------传入小数数据---------------------------"<<endl;
    MyArray<double> myarray2;
    myarray2.readData(5);
    myarray2.saveFile(5);
    myarray2.maxArray(5);

    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/921042.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存