TM 08 : Class Strings
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.
#include<iostream>
using namespace std;
class String{
private:
char *s;
unsigned int len;
public:
String(){}
String(char *, unsigned);
String(const char*);
String(const String&);
~String(){}
};
b. Selanjutnya implementasikan definisi semua fungsi anggota di luar class String. Ingat jangan lupa gunakan scope resolution operator :: .
String :: String(){
s="";
len=0;
}
String :: String(char * s, unsigned int len){
for(int i=0; is[i]=s[i];
this->s[i]='';
}
}
String :: String(const char* s){
for(int i=0; is[i]=s[i];
this->s[i]='';
}
}
String :: String(const String& ss){
for(int i=0; is[i]=ss.s[i];
this->s[i]='';
}
}
String :: ~String(){}
c. Terakhir, tulislah fungsi main() sebagai driver untuk menguji desain kamu.
int main(){
const char *ss = "Halo";
char *s = "Hai";
String w;
String x(s, strlen(s));
String *y;
String(z);
cin.get();
return 0;
}
I AM PROUD AS BINUSIAN