#include <iostream>
using std::cout;
using std::endl;
class CClass {
char *p;
int len;
public:
CClass();
~CClass() { delete p; }
CClass(char *s, int l);
char *get() {
return p;
}
int length() {
return len;
}
};
CClass::CClass() {
p = new char[128];
if (!p) {
cout << "Allocation Error" << endl;
exit(1);
}
*p = '\0';
len = 128;
}
CClass::CClass(char *s, int _len) {
if (strlen(s) >= _len) {
cout << "Allocating size (_len) < string size (s)" << endl;
exit(1);
}
p = new char[_len];
if (!p) {
cout << "Allocation Error" << endl;
exit(1);
}
strcpy(p, s);
len = _len;
}
int main()
{
CClass o1, o2("c c++", 32);
cout << "o1: " << o1.get() << " len: " << o1.length() << endl;
cout << "o2: " << o2.get() << " len: " << o2.length() << endl;
return 0;
}
/*
run:
o1: len: 128
o2: c c++ len: 32
*/