
voID foo(double);
是否可以描述可以作为参数传递给foo的用户定义类型?
解决方法 当然,虽然不是通过实际的继承,而是通过隐式转换来模拟它:#include <iostream>struct MoreDouble{ operator double() { return 42.5; }};voID foo(double x){ std::cout << x << '\n';}int main(){ MoreDouble md; foo(md);}// Output: 42.5 (Live demo)
这是一个好主意是另一个问题.我不喜欢一般的隐式转换,所以在使用之前确保你真的需要它.
总结以上是内存溢出为你收集整理的c – 是否可以描述某种原始类型的子类型?全部内容,希望文章能够帮你解决c – 是否可以描述某种原始类型的子类型?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)