C++模板编程:类模板、模板特化与变量模板
1. 类模板的简单I/O测试
首先,我们来看一个简单的 rational 类模板的I/O测试程序:
import <iostream>;
import rational;
int main()
{
rational<int> r{};
while (std::cin >> r)
std::cout << r << '\n';
}
这个程序从标准输入读取 rational<int> 类型的值,并将其输出到标准输出。现在,我们要修改这个程序,使其只输出非零值:
import <iostream>;
import rational;
int main()
{
static const rational<int> zero{};
rational<int> r{};
while (std::cin >> r)
if (r != zero)
std::cout << r << '\n';
}
2. 重载运算符的问题与解决方案
在上述代码中,我们使用了 != 运算符来比较 rational 对象和零。然而,编译器不会为函数模板执行自动
超级会员免费看
订阅专栏 解锁全文
5864

被折叠的 条评论
为什么被折叠?



