【发布时间】:2012-09-06 00:36:46
【问题描述】:
有没有办法像在 JavaScript 中一样在 C++ 中扩展数据类型?
我想这有点像这样:
char data[]="hello there";
char& capitalize(char&)
{
//Capitalize the first letter. I know that there
//is another way such as a for loop and subtract
//whatever to change the keycode but I specifically
//don't want to do it that way. I want there
//to be a method like appearance.
}
printf("%s", data.capitalize());
这应该以某种方式打印出来。
【问题讨论】:
-
不在 C++ 中。但是你可以做类似
capitalize(data)的事情。 -
如果有问题的数据类型是结构/类,您可以(但可能不应该)从它继承。对于像
int或char(或其中的数组)这样的内置类型,你几乎不走运。 -
我认为这与原始类型没有多大关系。但是对于类,您可以只制作一些 java 风格的东西,并让它们全部实现一个让我们说具有给定方法 toString()、capitalize() ecc 的“可打印”接口:/ 或者您可以只制作一个模板或静态函数来传递值。
标签: c++ arrays methods char extend