首页 > 试题广场 >

下面 C++ 代码的运行结果为() #include io

[单选题]
下面 C++ 代码的运行结果为()
#include <iostream>

template <typename T>
class MyClass {
public:
    static int count;

    MyClass() {
        ++count;
    }

    ~MyClass() {
        --count;
    }
};

template <typename T>
int MyClass<T>::count = 0;

int main() {
    MyClass<int> obj1;
    MyClass<double> obj2;
    std::cout << MyClass<int>::count << " " << MyClass<double>::count << std::endl;
    return 0;
}
  • 1 0
  • 1 1
  • 2 2
  • 2 1
两个不同模板的实例化是完全不同的类型,题中一个int一个double,所以两个类型中的count也不是同一个,两者独立计数
发表于 2025-08-22 21:56:35 回复(0)
嚯!这个还真没注意到平时,主要元编程用得少,一般就用来判断编译期类型,其他的太少用了
发表于 2026-03-07 21:08:19 回复(0)
两个不一样的类模板分别加一
发表于 2025-10-09 15:10:55 回复(0)