TM 08 : Class Strings
Albert Hendry Harsono/1701296914/02PPT
a. Desain class String. Klas ini mempunyai dua data anggota dengan level akses private, yaitu string aktual s yang disajikan dalam bentuk pointer char * s dan len untuk menyajikan panjang string s. Fungsi anggotanya, level akses public, adalah default constructor String(), constructor String (char*, unsigned), constructor String (const char*), copy constructor String (const String &) dan destructor ~String(). Dalam desain ini semua fungsi anggota harus berbentuk prototipe.
class String
{
private:
string ss;
char *s;
int len;
public:
String();
String(char* s);
String(const String &r);
~String();
int length();
void setSs(string ss);
string getSs();
};
b. Selanjutnya implementasikan definisi semua fungsi anggota di luar class String. Ingat jangan lupa gunakan scope resolution operator :: .
void String::setS(string ss)
{
this->ss=ss;
}
string String::getS()
{
return ss;
}
String::String()
{
cout<<"object constructed"<<endl; } String::String(char*s) { strcpy(this->s,s);
}
String::String(const String &r)
{
cout<<"copy constructor called"<<endl;
}
String::~String()
{
cout<<"object destructed"<<endl;
}
int String::length()
{
len=strlen(s);
}
c. Terakhir, tulislah fungsi main() sebagai driver untuk menguji desain kamu.
int main()
{
String kata;
kata.setSs("Test");
kata.length();
String kata2(kata);
cin.get();
return 0;
}
I AM PROUD AS BINUSIAN