如何投射 C++类到内在类型
基本 C++ 类问题:
我目前有简单的代码,看起来像这样:
typedef int sType;
int array[100];
int test(sType s)
{
return array[ (int)s ];
}
我想要的是将“sType”转换为类,这样“return array[ (int)s ]”行就不需要改变了。例如(伪代码)
class sType
{
public:
int castInt()
{
return val;
}
int val;
}
int array[100];
int test(sType s)
{
return array[ (int)s ];
}
感谢您的帮助。
Basic C++ class question:
I have simple code currently that looks like something like this:
typedef int sType;
int array[100];
int test(sType s)
{
return array[ (int)s ];
}
What I want, is to convert "sType" to a class, such that the "return array[ (int)s ]" line does not need to be changed. e.g. (pseudocode)
class sType
{
public:
int castInt()
{
return val;
}
int val;
}
int array[100];
int test(sType s)
{
return array[ (int)s ];
}
Thanks for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要使 s = 5 工作,请提供一个采用 int 的构造函数:
编译器将在需要将 sType 转换为 int 时使用该构造函数。
To make s = 5 work, provide a constructor that takes an int:
The compiler will then use that constructor whenever it need to convert an sType to an int.