1. 程式人生 > >C++ 習題 比較大小-類模板

C++ 習題 比較大小-類模板

前置程式碼及型別定義已給定如下,提交時不需要包含,會自動新增到程式前部

/* C++程式碼 */

#include <iostream>

#include <iomanip>

using namespace std;

template<class numtype>

class Compare

{

public:

    Compare(numtype a,numtype b);

    numtype max();

    numtype min();

private:

    numtype x,y;

};





主函式已給定如下,提交時不需要包含,會自動新增到程式尾部

/* C++程式碼 */

int main()

{

    int i1,i2;

    cin>>i1>>i2;

    Compare<int> cmp1(i1,i2);

    cout<<cmp1.max()<<" "<<cmp1.min()<<endl;

    float f1,f2;

    cin>>f1>>f2;

    Compare<float> cmp2(f1,f2);

    cout<<setiosflags(ios::fixed);

    cout<<setprecision(2);

    cout<<cmp2.max()<<" "<<cmp2.min()<<endl;

    char c1,c2;

    cin>>c1>>c2;

    Compare<char> cmp3(c1,c2);

    cout<<cmp3.max()<<" "<<cmp3.min()<<endl;

    return 0;

}

#include <iostream>
#include <iomanip>
using namespace std;
template<class numtype>
class Compare
{
public:

    Compare(numtype a,numtype b);

    numtype max();

    numtype min();

private:

    numtype x,y;

};
template<class numtype>
Compare<numtype>::Compare(numtype a,numtype b)
{
    if(a-b>1e-6)
    {
        x=a,y=b;
    }
    else
    {
        x=b,y=a;
    }
}
template<class numtype>
numtype Compare<numtype>::max()
{
    return x;
}
template<class numtype>
numtype Compare<numtype>::min()
{
    return y;
}

int main()

{
    int i1,i2;

    cin>>i1>>i2;

    Compare<int> cmp1(i1,i2);

    cout<<cmp1.max()<<" "<<cmp1.min()<<endl;

    float f1,f2;

    cin>>f1>>f2;

    Compare<float> cmp2(f1,f2);

    cout<<setiosflags(ios::fixed);

    cout<<setprecision(2);

    cout<<cmp2.max()<<" "<<cmp2.min()<<endl;

    char c1,c2;

    cin>>c1>>c2;

    Compare<char> cmp3(c1,c2);

    cout<<cmp3.max()<<" "<<cmp3.min()<<endl;

    return 0;

}

相關推薦

YTUOJ——C++ 習題 比較大小-模板

題目描述 宣告一個類模板,利用它分別實現兩個整數、浮點數和字元的比較,求出大數和小數。說明:在類模板外定義各成員函式。 輸入 輸入兩個整數、兩個浮點數和兩個字元 輸出 從大到小輸出兩個整數、兩個浮點數和兩個字元 樣例輸入 3 7 45.78 93.6 a A 樣例

C++ 習題 比較大小-模板

前置程式碼及型別定義已給定如下,提交時不需要包含,會自動新增到程式前部 /* C++程式碼 */ #include <iostream> #include <iomanip> using namespace std; template<class numtype> cl

YTU 2437: C++ 習題 比較大小-模板

2437: C++ 習題 比較大小-類模板 時間限制: 1 Sec  記憶體限制: 128 MB提交: 1144  解決: 805 題目描述 宣告一個類模板,利用它分別實現兩個整數、浮點數和

第十五週oj刷題——Problem I: C++ 習題 比較大小-模板

Description 宣告一個類模板,利用它分別實現兩個整數、浮點數和字元的比較,求出大數和小數。說明:在類模板外定義各成員函式。 Input 輸入兩個整數、兩個浮點數和兩個字元 Output 從大到小輸出兩個整數、兩個浮點數和兩個字元 Sample

OJ比較大小-模板

/* * 程式的版權和版本宣告部分: * Copyright (c) 2013, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:test.cpp * 作 者:任子儀 * 完成日期:2014年 5月 28日 * 版 本 號:v12.1 *

比較大小 ——模板

#include <iostream> #include <iomanip> usingnamespace std; template<classnumtype>//宣告一個模板,虛擬型別名為numtype。class表明,其後面的是型別引數,名字可任取。 classCo

C++ 的巢狀模板的特化定義不允許寫在定義的範圍內

最近在使用在使用模板特化寫一段程式時發現一個奇怪的問題,比如像如下程式碼: #include <iostream>using namespace std;class CMyClass{public: template <typename T> struct test { 

36、不一樣的C++系列--單例模板

單例類模板 對於單例模式,我們都已經很熟悉了,這裡我們來親手製作一個單例類模板: 目標:某些類在整個系統生命期中最多隻能有一個物件存在(Single Instance) 要控制類的物件數目,必須對

c++雙鏈表模板

#pragma once #include <iostream> #include <string> using namespace std; template<typename T> class DblList; template&

C++--繼承中的模板語法

當模板遇上繼承之後會發生什麼呢? 寫一個簡單的測試案例來說明當模板與上繼承發生的“”大事件“”#include <iostream> using namespace std; templ

c++---非型別的模板引數、模板的特化、模板的分離編譯

一. 非型別的類模板函式 在類的模板引數列表中,不一定是都是型別,或者介面卡,也可以是一個數。 //一般都使用int,用作規定大小 template <class T,size_t MAXSIZE> 具體使用: template

Java中的Package.Import.Class以及和C++的比較(二)--成員初始化及順序

接下來主要都是關於Class的內容。 類成員初始化 在C++中,這樣做是不行的: class a { public: int a = 0;//不能初始化 編譯失敗 }但是在java中,這是完全可行的。 在C++中,如果: int a; 你會發現a的值是不確

C++智慧指標與模板

開發十年,就只剩下這套架構體系了! >>>   

C++ Templates (2.1 模板Stack的實現 Implementation of Class Template Stack)

[返回完整目錄](https://www.cnblogs.com/kaycharm/p/13433381.html#第一部分章節目錄) [toc] # 2.1 類模板Stack的實現 Implementation of Class Template Stack 正如函式模板,可以如下方式在一個頭檔案中宣

C++實現一個有理數,包括大小比較,有理數的加減乘除。測試你的

//實現一個有理數類,包括大小比較,有理數的加減乘除。測試你的類。 #include <iostream> #include <stdlib.h> class Rational { public: Rational(int nu

C++中的模板詳細講述

技術 要求 ebe div spa 限制 dcb 模板的模板 文本文件 一、類模板定義及實例化 1. 定義一個類模板: 1 template<class 模板參數表>2 3 class 類名{4 5 // 類定義......6 7 };

為什麽 c++中函數模板模板的 聲明與定義需要放到一起?

color code 我們 ack 二進制 通過 如果 之前 類型 將模板的聲明與定義寫在一起實在很不優雅。嘗試用“傳統”方法,及在.h文件裏聲明,在.cpp文件裏定義, 然後在main函數裏包含.h頭文件,這樣會報鏈接錯誤。why!!!!!!!!!!!!! 這是因為函數模

C語言的第二天-比較大小的小程序

語言 tro color es2017 turn logs print col pre 1 #include <stdio.h> 2 int main() 3 { 4 int a,b,c,max; 5 printf("請輸入三個數:"

C++模板

c++ 類模板 C++中,為了節省代碼,引入了函數模板這一概念。不僅函數有模板,類也有模板。現在先來寫一個類模板。template < typename T > class AAA { private: T t; public: void test_func ( c

C#裏比較時間大小的方法

con console 刪除節點 one 定位 switch second 自定義變量 代理服 C#裏比較時間大小的方法 在C#的開發中,經常會碰到取時間區間的情況, 或者錄入時間區間,比如下圖 開始時間必須要小於結束時間,那就需要時間的比較,所以,我們下面開始介紹一下,