(1)私有数据成员
char* s; 用动态空间存放字符串
(2)公有成员函数
String_Interator(char* str); 用参数str初始化数据成员 operator int(); 转换函数,将数据成员s转化整数,并返回该数 void show(); 输出数据成员s ~String_Interator(); 释放动态空间
(3)任务描述
在主函数中定义的类进行测试,定义字符数组,把由键盘输入的字符串“AB123 c00d45ef“”存入数组, 并用该数组初始化String_Interator类的对象调用show()函数输出数据成员s,然后把对象赋值给整形变 量n,并输出转结果如下所示; 请输入字符:AB123 c00d45ef 字符串为:AB123 c00d45ef 转换得到的整数为:1230045
#include<iostream> #include<string> using namespace std; class String_Interator { private: char* s; public: String_Interator(char* str); operator int(); void show(); ~String_Interator(); }; String_Interator::String_Interator(char* str) { s = new char(sizeof(str)); //开辟动态空间 s = str; //将str传入类对象中 } String_Interator::operator int() { int k = 0,l; char* f = s; char*x=s; while (*f != ' ') //判断元素是否遍历 { if (*f >= '0' &&*f <= '9') k++; //记录有效元素个数(0~9) f++; } int a = 0, c = 0; while (*x != ' ') { if (*x >= '0' && *x <= '9') { l = *x - '0'; //还原字符为整数 c=l; for (int j = 0; j < k-1; j++) { c = c * 10; //叠加得到最后的整数 } a = a + c; k--; } x++; } cout << "转换得到的整数为:" << a << endl; return 0; } void String_Interator::show() { cout << "字符串为:" << s << endl; } String_Interator::~String_Interator() { delete[]s; //释放s空间 } int main() { string a; int c; cout << "请输入字符串:" << endl; getline(cin, a); //得到带有空格的字符串,注意getlinea()函数只能传入string中; c = sizeof(a); //得到字符串长度 char* b = new char[c]; //创建指针用来初始化类 for (int i = 0; i < c; i++) b[i] = a[i]; //将a中的值赋给b;!!!这一步非常关键 String_Interator A(b); A.show(); A.operator int(); return 0; } ``
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算