请教一下:定义一个类Deduplicate,设计一个算法实现将输入的一个字符串,删除字符串中所有重复出现的字符,并对删除重复字符串结果进行排序,并按要求输出。

1、定义一个类Deduplicate,设计一个算法实现将输入的一个字符串,删除字符串中所有重复出现的字符,并对删除重复字符串结果进行排序,并按要求输出。具体要求如下:
(1)私有数据成员。
char data[100];存放输入的字符串。
char result[100];存放处理后的字符串。
int num;删除重复字符串后的字符串中的字符个数。
(2)公有成员函数。
构造函数Deduplicate (int a=0):初始化num=0。
void input();向data数组中输入存放字符串
void process( );实现删除字符串中所有重复出现的字符。
void sort();对删除重复字符串结果进行排序。
void display( );输出字符串。
int getNum();获取删除重复字符数

如下:

#include <iostream>
using namespace std;

class Deduplicate
{
private:
    char data[100];//存放输入的字符串。
    char result[100];//存放处理后的字符串。
    int num;//删除重复字符串后的字符串中的字符个数。
public:
    Deduplicate (int a=0){num = 0;}
    void input(){cin >> data;}//向data数组中输入存放字符串
    //实现删除字符串中所有重复出现的字符。
    void process()
    {
        int i=0,k=0;
        num = 0;
        for (i=0;data[i]!= '\0';i++)
        {
            for (k=0;k<num;k++)
            {
                if(result[k]== data[i])
                    break;
            }
            if(k==num)
                result[num++]= data[i];
        }
        result[num]=0;
    }
    //对删除重复字符串结果进行排序。
    void sort()
    {
        int i,j;
        char ch;
        for (i=0;i<num-1;i++)
        {
            for (j=0;j<num-1-i;j++)
            {
                if(result[j] > result[j+1])
                {
                    ch = result[j];
                    result[j]= result[j+1];
                    result[j+1]= ch;
                }
            }
        }
    }
    //输出字符串。
    void display()
    {
        cout << result<<endl;
    }
    //获取删除重复字符数
    int getNum()
    {
        return num;
    }
};

int main()
{
    Deduplicate dc;
    dc.input();
    dc.process();
    dc.sort();
    dc.display();
    cout << "去重后的长度:"<<dc.getNum()<<endl;
    return 0;
}