Programming/[C++] (32) 썸네일형 리스트형 [C++] 파일 입출력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include #include using namespace std; void main() { ofstream fout; ifstream fin; fout.open("a.txt"); fout [C++] 소멸자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; /* 소멸자 함수 1. 객체 소멸시 자동 호출 되어지는 함수 2. ~클래스명() {} //~는 필드 3. 매개변수를 선언할 수 없다. 4. 오버로딩이 불가능하다. (오직 하나) 5. const member function으로 만들 수 없다. 6. 객체의 잔여 메모리를 깨끗하게 정리하는 역할 호출 시점 1. 정적 메모리는 함수가 끝났을 때 2. 동적 메모리는 delete를 했을 때 */ class Apple { public : Apple() { cout [C++] 깊은 복사 연산자 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 #include using namespace std; class A { int *p; public: A() { p = new int; *p = 0; } ~A() { delete p; } A(const A &aa) { p = new int; *p = *aa.p; } void setA(int data) { *p = data; } int getA()const { return *p; } A& operator= (const A &aa) { if (this == &aa) { return *this; } delete p; p = new .. [C++] 기초 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 using namespace std; //1. 사용자 정의 함수 선언 void disp(int a); void input_ref(int &a); void input_add(int *p); void main() { int a = 10; disp(a); //call by value //a = input(a); //input_add(&a); input_ref(a); disp(a); } void input_ref(int &a) { cout a; } void input_add(int *.. [C++] cout object(씨아웃 오브젝트) 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 44 45 46 47 48 49 50 51 52 53 54 55 56 #include using namespace std; class A { int a; public: A(int a = 1000) { this->a = a; } void setA(int a) { this->a = a; } const int getA() { return a; } friend ostream& operator(istream &cin, A &aa); //값을 읽기만 할 때 const로 지정 //friend int ope.. [C++] 복사 소멸자 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 #include using namespace std; class Apple { int *p; public : Apple(int i = 0) { p = new int; *p = i; } Apple (const Apple& aa) { p = new int; p = aa.p; } ~Apple() { delete p; } int getP() { return *p; } }; void main() { Apple aa(10); Apple bb(aa); //Apple bb(aa); //복사생성자 호출 cout [C++] 복사 생성자 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 #include using namespace std; /* 복사 생성자 함수 (1) 객체 생성시 객체를 인자로 줄경우 A aa; => 생성자호출 A bb(aa); => 복사생성자호출 (2) 객체 생성시 객체를 대입할 경우 A aa => 생성자 호출 A bb = aa; => 복사생성자호출 (3) member function의 매개변수로 객체를 선언할 경우 void A::disp(A aa) => .. [C++] 생성자 함수 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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #include using namespace std; /* 생성자 함수 1. 객체 등록시 자동호출되어지는 함수 역할 : 객체필드 초기화 (쓰레기 값 방지) 객체 등록 (디폴트) 2. 접근지정자를 주로 public으로 지정 3. 오버로딩이 가능하다 (명시적 + 암시적) 4. const(고정 java에서 final(오버라이딩 금지)) member function으로 만들 수 없다 5. 리턴 타입이 없다 6. 함수 이름이 클.. 이전 1 2 3 4 다음