(1)私有数据成员
? int *p[5]:存放二维数组每行的字符串的地址。 (2)公有成员函数
? SUM(int d[5][5]):构造函数,初始化成员数据。
? void process1():对二维数组中存放的字符串进行排序。 ? void print():输出二维数组中排好序的字符串。 (3)在主程序中对该类进行测试。
33.建立一个类Integer_String,把一个正整数转换为字符串。
具体要求如下: (1)私有数据成员
? int num:要转换的正整数。
? char *s:用动态空间存储转换得到的字符串。 (2)公有成员函数
? Integer_String(int n):用参数n初始化数据成员num。 ? int f():求数据成员num的位数。
? void fun():把正整数num转换为字符串s。
? void show():输出数据成员num和s; ? ~Integer_String():释放动态空间。
(3)在主函数中对定义的类进行测试。用正整数12345初始化类Integer_String
的对象test,调用相关成员函数后输出转换结果。
34.建立一个类String_Integer,把一个字符串中的数字字符转换为正整数。
具体要求如下: (1)私有数据成员
? char *s:用动态空间存放字符串。
(2)公有成员函数
? String_Integer(char *str):用参数str初始化数据成员s。
? operator int():转换函数,数据成员s转换整数并返回该数。 ? void show():输出数据成员s。 ? ~String_Integer():释放动态空间。
(3)在主函数中对定义的类进行测试。定义字符数组,把由键盘输入的字符串
“ab12 3c00d45ef”存入数组,并用该数组初始化类String_Integer的对象test,调用show函数输出test的数据成员s,然后把对象test赋值给整型变量n并输出,转换结果如下所示(下划线部分是从键盘输入的内容): 请输入字符串ab12 3c00d45ef :ab12 3c00d45ef 字符串为:ab12 3c00d45ef 转换得到的整数为:1230045
35.建立一个类Union求两个整数集合的并集。
具体要求如下: (1)私有数据成员
? int *set1,len1:用动态空间set1存储集合1,len1表示其元素的个
20
数。
? int *set2,len2:用动态空间set2存储集合2,len2表示其元素的个
数。
? int set[20],len:用数组空间set存储并集,len表示其元素的个数
(2)公有成员函数
? Union(int *s1,int l1,int *s2,int l2):用变量s1和l1初始化集合1及
其长度,用变量s2和l2初始化集合2及其长度,并把并集的长度置为0;
? int f(int num):判断整数num是否属于集合1,是返回1,否则返
回0;
? void fun():求集合1和集合2的并集,方法是先把集合1中的所
有元素复制给并集,然后调用f函数把集合2中不属于集合1的元素复制给并集;
? void show():输出集合1、集合2和并集; ? ~Union():释放动态空间。
(3) 在主函数中对定义的类进行测试。定义数组s1:{1,2,3,4,5,6,7,8}、s2:
{1,3,5,7,9,11},并用它们初始化类Union的对象obj,然后调用相关的成员函数,求并集,输出集合1、集合2和并集。
3