第29433题 单选题
分析如下C++代码,关于程序运行结果和模板结构体的说法正确的是?
#include <iostream>
using namespace std;

template<typename T>
struct TestStruct {
    T val;
    void print() {
        cout << "Generic: " << val << endl;
    }
};

// 全特化版本
template<>
struct TestStruct<int> {
    int val;
    void print() {
        cout << "Specialized int: " << val * 2 << endl;
    }
};

int main() {
    TestStruct<double> s1;
    s1.val = 3.14;
    s1.print();
    TestStruct<int> s2;
    s2.val = 5;
    s2.print();
    return 0;
}
A

程序运行会输出 Generic: 3.14Specialized int: 5

B

程序运行会输出 Generic: 3.14Specialized int: 10

C

代码编译失败,因为特化的TestStruct<int>的print函数实现与泛型版本不一致

D

无法实例化模板结构体TestStruct<double>,因为double不属于C++内置数据类型

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析