C 加密模板(類模板 函式模板)

2021-10-07 17:41:32 字數 1724 閱讀 5578

題目描述加密機制包括明文、密文、金鑰。用金鑰對明文進行加密後就得到密文。 在古典加密機制中,偏離值是一種常見的方法,加密過程為

1、在已知資料中找出最大值

2、用最大值減去各個數值,得到相應的偏離值

3、偏離值加上金鑰就得到密文

例如明文為1 2 3 4 5,金鑰是10,

加密過程為:

1、找出明文的最大值是5

2、用5減去明文的各個數值,得到偏離值4 3 2 1 0

3、用偏離值加上金鑰,得到密文14 13 12 11 10

定義乙個函式模板,名為max,引數包括陣列和陣列長度,返回值是陣列中的最大值,要求支援整數、浮點數和字元三種型別。

用類模板定義乙個加密類,包含四個屬性:明文、密文、金鑰、長度,前三個屬性都是同一種型別,長度是整數。長度是指明文的長度。

類模板包含操作構造、加密、列印,說明如下:

1、加密是呼叫函式模板max得到陣列最大值,按照前面的方法使用最大值和金鑰進行加密,得到密文

2、列印是輸出密文 要求類模板支援整數、浮點數和字元三種型別。

參考**給出了加密類介面(只支援整數型別)、主函式(支援三種資料型別),程式要求

1、根據要求編寫函式模板max

2、使用類模板方法改造加密類介面,不能增加任何屬性和操作,必須在類外實現建構函式和加密方法

3、主函式不能有任何修改

上述所有類屬性都不是public,用物件導向思想和c++語言實現上述要求

//只支援整數型別的加密類介面

class

cryption};

//支援三種型別的主函式

intmain()

輸入第一行輸入整數型別的資訊,包括金鑰、長度、明文

第二行輸入浮點數型別的資訊,包括金鑰、長度、明文 第三行輸入字元型別的資訊,包括金鑰、長度、明文

輸出

三行分別輸出三種型別的密文

樣例輸入

10 5 1 2 3 4 5

11.11 4 1.1 2.2 3.3 4.4

o 3 a b c

樣例輸出

C 模板函式,模板類

模板如字面的意思為模具模板,並不是乙個正真的物體。例如,在編寫比較兩個數大小的 中,我們可能要比較兩個整數的大小,也能需要比較浮點數等等大小。在這些 中,基本的邏輯都是相同的,只是比較數的型別不同。此時我們就可以用模板這個概念來完成對於不同型別的引數而相同的邏輯的操作。而模板會根據實際的引數型別推演...

模板 函式模板 類模板

模板主要是針對資料型別,不同的資料型別卻具有相同的操作形式,比如說,同樣是做入棧,int和double由於資料型別不一樣,需要做兩個棧才能滿足需求,誠然可以使用函式過載,但是終歸棧的操作是一樣的,只是資料型別不一樣。所以在此基礎上,假設,我們首先將所有的資料型別視為乙個大類,將它引數化,等到要用的時...

C 模板程式設計 函式模板 類模板

通常int sum int a,int b 這裡的兩個形參變數a b,就是為了接受實參的值。而模板的意義就在於此,模板就是針對型別的,使型別也可以進行引數化,即由原來的的固定的轉化為可變的。模板的意義 對型別也可以進行引數化了 裡面的內容不進行編譯,型別不知道 1 定義乙個模板形參列表 templa...