Copy đoạn code sau vào một file cpp và chạy thử rồi nghiên cứu nhé.

Chương trình này dùng compile: BCC 5.51
PHP Code:
#include <iostream>
#include<string>
using namespace std;

class 
String
{
private:
charstr;chartmp//Declare string variables
long length;
long l;

public:
//Empty constructor;
String(){str="";length=0;tmp=new char[1];} //tmp is created as new as to delete in Destructor
//String Constructor
// Assign the string passed
String(chars){length=strlen(s); l=length+;str=new char[l];strcpy(str,s);*(str+length)='\0'tmp=new char[1];}
//Destructor
~String(){delete str;delete tmp;
}

//Length of the string
long Length(){length=strlen(str);return length;}
//like in Java, toString returns the entire string
chartoString(){ return str;};
//Get the substring providing start and length parameters
charsubString(long stt,long len);
//Get the wordcount "default delimiter is spaces and CRLF
long WordCount();
//Get the location of a particular string or character inside the actual string
long getCharLoc(char*,long);
//set this string overriding  the initial
void setString(chars)
{
delete str;
length=strlen(s); l=length+;str=new char[l];strcpy(str,s);*(str+length)='\0'tmp=new char[1];

}
};

long String::getCharLoc(charsch,long stt)
{
long i,j;
long schlen=strlen(sch);
if (
stt|| stt>length)
    return 
0;
else
    {
        for(
j=0;j<schlen;j++)
        {    for(
i=stt;i<length;i++)
            {
                if (*(
str+i-1) == *(sch+j))
                    {    
                        
stt=i+1;
                        break;
                    }
                else
                    continue;
            }
            if (
i>=length)
                break;
        }    
                
        if(
j==schlen )
            return (
stt-schlen);
        else
            return 
0;
    }
}
charString::subString(long stt,long len){
long a,b;
if( 
stt>length || len length || (length-stt+1)<len || stt<=|| len <=)
    return 
"";
else
    {
        
a=len+1;
        
tmp=new char[a];
        for(
a=0;a<len;a++)
            *(
tmp+a)=*(str+stt-1+a);
        *(
tmp+len)='\0';
        return 
tmp;
    }
}
long String::WordCount()
{
long a,b=0;
for(
a=0;a<=length;a++)
    if ((*(
str+a)== ' ' || a==length || *(str+a)=='\n') && !(*(str+a)==' ' && *(str+a-1)==' ') && !(*(str+a)=='\n' && *(str+a-1)=='\n')  && !(*(str+a-1)==' ' && *(str+a)=='\n') && !(*(str+a-1)=='\n' && *(str+a)==' ') && !(*(str+a-1)=='\n' && a==length) && !(*(str+a-1)==' ' && a==length))
    
b++;
    return 
b;
}





void main()
{
    
//Define default string 
    
String x("Hello world This is new C++");
        
//show the string to check
    
cout<<x.toString()<<endl;
    
//get its length
    
cout <<endl<<"The string length is " <<x.Length()<<endl;
//Get the location of the word "world"
    
cout<<"\n'world' is found at " <<x.getCharLoc("world",1)<<endl;
    
//Get the loc of 'new'
    
cout<<"'new' is found at "<<x.getCharLoc("new",1) <<endl;
    
//Change the string
    
x.setString("Bull ****");
    
//show the string to check
    
cout<<x.toString()<<endl;
    
//get its length
    
cout <<endl<<"The new string length is " <<x.Length()<<endl;
    
system("pause");


Sưu tầm của Tác giả Vijay S - Vui lòng ghi rõ nguồn gốc khi giới thiệu