malloc()とfree()関数を使って、メモリの割り当てと解放をしています。
#include#include #include using namespace std; #define SIZE 255 class strtype { char * p; int len; public: strtype(); ~strtype(); void set(char *ptr); void show(); }; strtype::strtype() { p = (char *) malloc(SIZE); if(!p){ cout << "error memory\n"; exit(1); } *p = '\0'; len = 0; } strtype::~strtype() { cout << "release p\n"; free(p); } void strtype::set(char *ptr) { if(strlen(ptr) >= SIZE){ cout << "character is bigger \n"; return; } strcpy(p, ptr); len = strlen(p); } void strtype::show() { cout << p << " - long: " << len; cout << "\n"; } int main() { strtype s1, s2; s1.set("this is a test."); s2.set("I like C++."); s1.show(); s2.show(); return 0; }