Explode in C++

#include<iostream>
#include<string>
using namespace std;
/*Esempio di classe str derivata da string*/

class str : public string
{

	public:
		
		//costruttore di default
		str():string()
		{
			
		}
		//costruttore che passa attraverso il costruttore a parametri
		str(const string& s):string(s)
		{
			
			
		}
		
	    /*overloaging operator <<*/
	    friend ostream& operator<<(ostream& o, string& s)
	    {
	    	o<<"Stringa: "<<s;
	    	return o;
	    	
		}
		
		/*metodo statico che explode una stringa in un array*/
		public:
		static str* explode(char c,str& s)
		{
			int i=0,j=0;
			str* st=new str[100];
			while(s[i]!='\0')
			{
				if(s[i]==c)
				j++;
				else
				{
				st[j]+=s[i];
				
				}
					i++;
			}
			
			return st;
		}
		
		
};


int main()
{
	 str s("ciao");
	
	 cout<<s<<endl;
	
	
	 
	 
	str h("ciao,com,   va,  bene,o");
	 
	 
	str* f = str::explode(',',h);
	 
	 int y=0;
	 while(f[y]!="\0")
	 {
	 	cout<<f[y]<<endl;
	 	y++;
	 }
	
	
	
}