题目描述 定义一个模板矩阵类 $Matrix $(其中 $T$ 为数据类型,$ROW$ 为矩阵行数,$COL$ 为矩阵列数,$ROW$ 和 $COL$ 为编译期固定的正整数),用于存储 $ROW$ 行、$COL$ 列的同类型数据。 需为该模板类重载加法运算符 + ,使不同数据类型、不同固定维度的矩阵支持合法的加法运算,具体规则如下: 1. 运算前提 :两个相加的矩阵必须为同类型、同维度(即 $T$ 相同、$ROW$ 相同、$COL$ 相同),否则视为非法运算,需提示 “维度或类型不匹配,无法相加”; 2. 不同类型的加法规则 : 当 $T = int$ 且 $ROW=2$、$COL=3$ 时(即 $Matrix $):加法为对应位置元素的整数相加(如矩阵 $A$ 的 $(i,j)$ 元素 + 矩阵 $B$ 的 $(i,j)$ 元素,结果作为新矩阵的 $(i,j)$ 元素); 当 $T = double$ 且 $ROW=3$、$COL=2$ 时(即 $Matrix $):加法为对应位置元素的浮点数相加,结果保留 6 位小数(若末尾为 0 可省略,如 $2.500000$ 输出 $2.5$); 当 $T = string$ 且 $ROW=3$、$COL=3$ 时(即 $Matrix $):加法为对应位置字符串的拼接(如矩阵 $A$ 的 $(i,j)$ 字符串 + 矩阵 $B$ 的 $(i,j)$ 字符串,结果作为新矩阵的 $(i,j)$ 元素); 3. 需实现矩阵的输入函数 (从标准输入读取矩阵元素)和输出函数(将矩阵元素按行输出,每行元素用空格分隔,行末无多余空格),支持上述三种特定类型矩阵的输入输出。 输入格式 输入分为三个独立的测试用例,分别对应 $Matrix $、$Matrix $、$Matrix $ 的加法运算,每个测试用例的输入格式如下: 测试用例 1:int 类型矩阵(2 行 3 列) 1. 第 1-2 行:输入第一个 $Matrix $ 的元素,每行 3 个整数,整数范围 [-1000, 1000],元素间用空格分隔; 2. 第 3-4 行:输入第二个 $Matrix $ 的元素,格式与第一个矩阵一致。 测试用例 2:double 类型矩阵(3 行 2 列) 1. 第 1-3 行:输入第一个 $Matrix $ 的元素,每行 2 个浮点数(可表示为整数形式如 5 或小数形式如 5.23、-3.1415),数值范围 [-10000.0, 10000.0],元素间用空格分隔; 2. 第 4-6 行:输入第二个 $Matrix $ 的元素,格式与第一个矩阵一致。 测试用例 3:string 类型矩阵(3 行 3 列) 1. 第 1-3 行:输入第一个 $Matrix $ 的元素,每行 3 个字符串(字符串不含空格,长度 [1, 20]),元素间用空格分隔; 2. 第 4-6 行:输入第二个 $Matrix $ 的元素,格式与第一个矩阵一致。 输出格式 针对每个测试用例,输出结果如下: 1. 若矩阵类型或维度不匹配(题目保证测试用例输入合法,此情况仅为代码健壮性要求,实际输入中不出现),输出维度或类型不匹配,无法相加 2. 若运算合法,输出加法结果矩阵,具体格式: $int$ 矩阵:每行 3 个整数,元素间用空格分隔,行末无多余空格; $double$ 矩阵:每行 2 个浮点数,保留 6 位有效小数(若小数部分全为 0,仅输出整数部分,如 3.000000 输出 3;若小数部分非全 0,去除末尾多余的 0,如 2.500000 输出 2.5,1.234000 输出 1.234); $string$ 矩阵:每行 3 个拼接后的字符串,元素间用空格分隔,行末无多余空格。 三个测试用例的输出顺序与输入顺序一致,每个测试用例输出后空一行(最后一个测试用例输出后无需空行)。 数据范围 $int$ 元素范围 [-1000, 1000] $double$ 元素范围 [-10000.0, 10000.0] $string$ 长度 [1, 20] 输入样例1 1 2 3 4 5 6 7 8 9 10 11 12 输出样例1 8 10 12 14 16 18 输入样例2 1.2 3.4 5.6 7.8 9.0 10.11 12.34 13.56 14.78 15.90 16.12 17.34 输出样例2 13.54 16.96 20.38 23.7 25.12 27.44 输入样例3 a b c d e f g h i 1 2 3 4 5 6 7 8 9 输出样例3 a1 b2 c3 d4 e5 f6 g7 h8 i9