函数模板基础写法
题目描述
请给出函数模板 print
的声明,使得程序符合下文规定的输出行为。
关于输入
无
关于输出
见样例输出
参考答案
#include <iostream>
template <typename T>
void print(const T& t) {
std::cout << t << std::endl;
}
// 一个不允许复制的类
struct MyStruct {
MyStruct() = default;
MyStruct(const MyStruct&) = delete;
MyStruct& operator=(const MyStruct&) = delete;
};
std::ostream& operator<<(std::ostream& os, const MyStruct& s) {
return os << "MyStruct";
}
int main() {
print(42);
print(3.14);
print('@');
print("Hello, world");
MyStruct s;
print(s);
}