C++字符串,该怎么处理

C++字符串
如何实现输入任意一个字符串,计算出每个字母在字符串中出现的次数并输出
------解决思路----------------------
有一个count算法,挺好用的C++字符串,该怎么处理
/*************************************************************************
    > File Name: charcount.cpp
    > Author: Jukay
    > Mail: hellojukay@gmail.com 
    > Created Time: 2014年10月18日 星期六 12时28分03秒
 ************************************************************************/
#include<string>
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
class str
{
private:
string test;
vector<int> num;
public:
void getstring();
void getnum();
void shownum();
str(string i):test(i){}
};
int main()
{
str mystr("");
mystr.getstring();
mystr.getnum();
mystr.shownum();
return 0;
}
void str::getstring()
{
cin>> this->test;
}
void str::getnum()
{
for(auto a : test)
{
num.push_back(count(test.begin(),test.end(),a));
}
}

void str::shownum()
{
int i=0;
for(auto s : test)
{
cout<< s <<' ' <<':'<< ' '<<num[i++] <<"次"<<endl;
}
}
/*sdkjlfhasdjkfhadsjkfhkadjfhakdjfhkjhfdaskjhidf'

s : 4次
d : 7次
k : 7次
j : 7次
l : 1次
f : 7次
h : 7次
a : 5次
s : 4次
d : 7次
j : 7次
k : 7次
f : 7次
h : 7次
a : 5次
d : 7次
s : 4次
j : 7次
k : 7次
f : 7次
h : 7次
k : 7次
a : 5次
d : 7次
j : 7次
f : 7次
h : 7次
a : 5次
k : 7次
d : 7次
j : 7次
f : 7次
h : 7次
k : 7次
j : 7次
h : 7次
f : 7次
d : 7次
a : 5次
s : 4次
k : 7次
j : 7次
h : 7次
i : 1次
d : 7次
f : 7次
' : 1次
*/