我现在正在开发一个操作系统。但是,我必须为开发人员创建类型“String”。我已经尝试过 typedef 和枚举,但它们都不符合我的需要。我想让类型字符串像 Windows 的 VB.Net 一样工作。像这样:
string a
a = "Hello, "
a.CombineString ("World")
int a = a.NumberOfChars ()
所以我想出了这个(在c ++中)
class string {
char * value = NULL; //My Operating System's Kernel's Printf Function Uses Char Pointers
bool CompareString (char *);
int NumberOfChars () {return (!value);}
void CombineString (char *);
}
bool string::CompareString(char * string_to_compare_with) {
int return_prototype = 0;
return_prototype = strcmp(string::value, string_to_compare_with); //The strcmp () function returns 0 if the char*s are the same and 1 if different.
if(return_prototype == 0) {
return true;
} else {
return false;
}
}
void string::CombineString(char * string_to_add) {
value = strcpy(value, string_to_add);
}
int main() {
string a;
a.value = "Hello, ";
a.CombineString("World!!");
Printf(a);
}
这将打印字符串“Hello, World!!” 在我的操作系统的控制台屏幕上。但我想去
string a = "Hello, ";
不是
string a;
a.value = "Hello, ";
我应该怎么办?