1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include "stdafx.h" #include <string.h> #include <conio.h> #define DEBUG class CStr{ char* str; public: CStr(char *s=""){ str = new char[strlen(s)+1]; strcpy(str,s); printf("construction\n"); } ~CStr() { delete[] str; printf("destructor\n"); } void Print(){ printf("%s\n",str); } }; //void f(CStr s)오류 //생성자에서 동적으로 메모리를 할당하는 //객체를 파라메터로 전달할 때는 항상 포인터 혹은 레퍼런스를 전달한다. void f(CStr& s) { s.Print(); } void main() { CStr s("hello"); f(s); #ifdef DEBUG //cmd char c; scanf("%c",&c); #endif } |