最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++類模板以及保存數(shù)據(jù)到文件方式

 更新時間:2023年08月04日 09:52:38   作者:喜歡干飯的小白  
這篇文章主要介紹了C++類模板以及保存數(shù)據(jù)到文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

C++類模板及保存數(shù)據(jù)到文件

題目要求

寫一個類模板,它有一個通用數(shù)組(既可作整數(shù)數(shù)組,又可作雙精度小數(shù)數(shù)組,

它有三個成員函數(shù),

其功能分別是,從鍵盤讀取數(shù)據(jù)到數(shù)組、將數(shù)組數(shù)據(jù)保存到某個文件中、求數(shù)組中的最大元素。

代碼實現(xiàn)

#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
template <class T>
class MyArray
{
public:
    /*從鍵盤讀數(shù)據(jù)到數(shù)組*/
    void readData(int n)
    {
        cout<<"請輸入數(shù)組:"<<endl;
        for(int i = 0;i<n; i++)
        {
            cin>>arr[i];
        }
        cout<<"輸入完畢!"<<endl;
    };
    /*將數(shù)組數(shù)據(jù)保存到文件中*/
    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()函數(shù) 。
        }
        for (int i = 0; i < n; i++)
            file << i << "  " << fixed << setprecision(8) << arr[i] << endl;//fixed << setprecision(8)是為了保留小數(shù)點后8位進行寫入
        file.close();//關閉文件,保存文件。
        cout<<"已保存到文件中"<<endl;
    };
    /*求數(shù)組中的最大元素*/
    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];//定義一個通用數(shù)組,也就是說可以存儲整數(shù)數(shù)組,也可以存儲浮點數(shù)數(shù)組等等
};
int main()
{
    cout<<"------------------------傳入整數(shù)數(shù)據(jù)---------------------------"<<endl;
    MyArray<int> myarray1;
    myarray1.readData(5);
    myarray1.saveFile(5);
    myarray1.maxArray(5);
    cout<<"------------------------傳入小數(shù)數(shù)據(jù)---------------------------"<<endl;
    MyArray<double> myarray2;
    myarray2.readData(5);
    myarray2.saveFile(5);
    myarray2.maxArray(5);
    return 0;
}

C++(文件,模板,類模板)知識點

1.文件操作

類對象:ofstream,  ifstream,  fstream。

第一步:打開文件:fd.open("teat.txt",ios::in | ios::out)

第二步:操作讀寫:內(nèi)部含有流的讀寫指針(偏移)seek

寫:塊  write  格式化 fprintf    << 行 fputs   字符  putc

讀:塊  read   格式化 fscanf    <<  行 fgets  getline  字符  getc

判斷結尾:eof

流緩存區(qū)刷新:flush

2.模板

本質:使用一個萬能的虛擬類型

單類定義:template  <class  類型名稱>

多類定義:template  <class  類型名稱1,class  類型名稱2>

多個虛擬類型則使用逗號隔開。注意:虛擬類型

3.類模板

作用:建立一個通用類,類中的額成員數(shù)據(jù)類型可以不具體指定用一個虛擬的類型來代表

本質:使用一個萬能的虛擬類型

單類定義:template  <class  類型名稱>

多類定義:template  <class  類型名稱1,class  類型名稱2>

多個虛擬類型則使用逗號隔開。

注意事項:

(1)虛擬類型只有后一句代碼有效(if,for,while)

(2)實例化模板類的時候必須使用  <類型> 置頂顯示類型

(3)模板那類成員類外實現(xiàn)的時候需要加上虛擬類型聲明才可以

(4)模板函數(shù)的創(chuàng)建時機——(運行)調用的時候

(5)類模板盡量不要分文件編寫。

如果硬要分文件編寫則只能引入源文件,不能引入頭文件。

如果我們定義一個  .hpp  的文件存放模板類的所有代碼直接引入  .hpp  文件即可

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Linux/C++多線程實例學習十字路口車輛調度

    Linux/C++多線程實例學習十字路口車輛調度

    這篇文章主要為大家介紹了Linux/C++多線程實例學習十字路口車輛調度示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • VC++的combobox控件用法匯總

    VC++的combobox控件用法匯總

    這篇文章主要介紹了VC++的combobox控件用法,對VC++初學者來說尤為重要,需要的朋友可以參考下
    2014-08-08
  • Qt利用QXlsx庫操作Excel表格的應用全解析

    Qt利用QXlsx庫操作Excel表格的應用全解析

    這篇文章主要為大家系統(tǒng)梳理了 Qt 生態(tài)中幾種主流 Excel 操作方案,例如QXlsx、QAxObject、LibXL、ODBC,有需要的小伙伴可以跟隨小編一起學習一下
    2025-10-10
  • QT判斷兩個日期時間的大小

    QT判斷兩個日期時間的大小

    本文主要介紹了QT判斷兩個日期時間的大小,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • C語言實現(xiàn)十六進制與二進制的相互轉換

    C語言實現(xiàn)十六進制與二進制的相互轉換

    這篇文章主要為大家詳細介紹了如何利用c語言實現(xiàn)將文件中十六進制數(shù)據(jù)與二進制數(shù)據(jù)相互轉換,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的可以學習一下
    2022-11-11
  • C++的指針,引用和STL詳解

    C++的指針,引用和STL詳解

    這篇文章主要為大家詳細介紹了C++的指針,引用和STL,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • linux下實現(xiàn)的2048游戲示例分享

    linux下實現(xiàn)的2048游戲示例分享

    這篇文章主要介紹了linux下實現(xiàn)的2048游戲示例,需要的朋友可以參考下
    2014-04-04
  • 深入理解c++常成員函數(shù)和常對象

    深入理解c++常成員函數(shù)和常對象

    下面小編就為大家?guī)硪黄钊肜斫鈉++常成員函數(shù)和常對象。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05
  • C++實現(xiàn)簡單掃雷小游戲

    C++實現(xiàn)簡單掃雷小游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡單掃雷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C語言運算符深入探究優(yōu)先級與結合性及種類

    C語言運算符深入探究優(yōu)先級與結合性及種類

    C語言運算符號指的是運算符號。C語言中的符號分為10類:算術運算符、關系運算符、邏輯運算符、位操作運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求字節(jié)數(shù)運算符和特殊運算符
    2022-05-05

最新評論

姜堰市| 新龙县| 江川县| 彭泽县| 石渠县| 桓台县| 伊春市| 扶风县| 固原市| 吉木乃县| 仙游县| 永和县| 乌鲁木齐市| 华容县| 隆林| 涟水县| 南川市| 宜兴市| 北票市| 二连浩特市| 宣武区| 衢州市| 湖北省| 文水县| 陈巴尔虎旗| 尼勒克县| 定远县| 滦南县| 辉县市| 铜梁县| 满城县| 阳山县| 黑水县| 乌恰县| 嫩江县| 土默特左旗| 务川| 巧家县| 玉树县| 镇江市| 丰台区|