欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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();//用于中止當(dāng)前進(jìn)程。 對于異常的程序終止–我們可以使用abort()函數(shù) 。
        }
        for (int i = 0; i < n; i++)
            file << i << "  " << fixed << setprecision(8) << arr[i] << endl;//fixed << setprecision(8)是為了保留小數(shù)點后8位進(jìn)行寫入
        file.close();//關(guān)閉文件,保存文件。
        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

判斷結(jié)尾:eof

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

2.模板

本質(zhì):使用一個萬能的虛擬類型

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

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

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

3.類模板

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

本質(zhì):使用一個萬能的虛擬類型

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

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

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

注意事項:

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • C語言中字符的輸入輸出以及計算字符個數(shù)的方法詳解

    C語言中字符的輸入輸出以及計算字符個數(shù)的方法詳解

    這篇文章主要介紹了C語言中字符的輸入輸出以及計算字符個數(shù)的方法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • 全面了解C語言?static?關(guān)鍵字

    全面了解C語言?static?關(guān)鍵字

    這篇文章主要介紹了全面了解C語言?static?關(guān)鍵字,文章首先通過先介紹一下頭文件的創(chuàng)建展開主題的詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • C++利用Socket實現(xiàn)主機(jī)間的UDP/TCP通信

    C++利用Socket實現(xiàn)主機(jī)間的UDP/TCP通信

    這篇文章主要為大家詳細(xì)介紹了C++如何利用Socket實現(xiàn)主機(jī)間的UDP/TCP通信功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • C++文件關(guān)鍵詞快速定位出現(xiàn)的行號實現(xiàn)高效搜索

    C++文件關(guān)鍵詞快速定位出現(xiàn)的行號實現(xiàn)高效搜索

    這篇文章主要為大家介紹了C++文件關(guān)鍵詞快速定位出現(xiàn)的行號實現(xiàn)高效搜索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 嵌入式C程序優(yōu)質(zhì)編寫全面教程規(guī)范

    嵌入式C程序優(yōu)質(zhì)編寫全面教程規(guī)范

    這是一年前我為公司內(nèi)部寫的一個文檔,旨在向年輕的嵌入式軟件工程師們介紹如何在裸機(jī)環(huán)境下編寫優(yōu)質(zhì)嵌入式C程序。感覺是有一定的參考價值,所以拿出來分享,拋磚引玉
    2022-04-04
  • C語言中格式化輸出符號%d、%c、%p、%x等詳解

    C語言中格式化輸出符號%d、%c、%p、%x等詳解

    格式化輸出在C語言中非常常用,提供了多種用法來控制輸出的格式,下面這篇文章主要給大家介紹了關(guān)于C語言中格式化輸出符號%d、%c、%p、%x等的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • C++實現(xiàn)RSA加密解密算法是示例代碼

    C++實現(xiàn)RSA加密解密算法是示例代碼

    非對稱加密方式可以使通信雙方無需事先交換密鑰就可以建立安全通信,因此被廣泛應(yīng)用于身份認(rèn)證、數(shù)字簽名、等信息交換領(lǐng)域。其中最具有代表性的非對稱加密方式就是RSA公鑰密碼體制。本文將用C++實現(xiàn)RSA加密解密算法,需要的可以參考一下
    2022-09-09
  • VScode + keil開發(fā)環(huán)境搭建安裝使用過程

    VScode + keil開發(fā)環(huán)境搭建安裝使用過程

    這篇文章主要介紹了VScode + keil開發(fā)環(huán)境搭建及安裝使用過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • C++實現(xiàn)猜數(shù)字游戲

    C++實現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 純C語言:分治快速排序源碼分享

    純C語言:分治快速排序源碼分享

    這篇文章主要介紹了分治快速排序源碼,有需要的朋友可以參考一下
    2014-01-01

最新評論