-
-
[求助]VC字符串类如何继承?
-
发表于:
2013-12-11 14:05
5274
-
在C中对字符数组可以通过atoi转成整数,但是C++中的string类就不能用atoi了。我就想编写一个相应的stoi。
我的方法是派生一个子类spstring,将stoi作为成员函数。H代码如下:
#include <cctype>
#include <string>
#include <algorithm>
#include <sstream>
#include <stdint.h>
#include <xstring>
class spstring : public std::string {
public:
spstring(std::string s):std::string(s){} //构造函数
int stoi(); //声明转换函数
spstring Spstring(std::string s); //声明强制类型转换函数
};
spstring spstring::Spstring(std::string s)
{
spstring spstr(s); //强制类型转换
return(spstr);
}
然后在main中调用
spstring byteaddstr(std::string(argv[1])); //把参数转为spstring型
int byteadd;
byteadd=byteaddstr.stoi(); //把spstring转为int
结果error C2228: “.stoi”的左边必须有类/结构/联合
百思不得其解,byteaddstr已经成功构造了,为何不能调用它的成员函数呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)