본문 바로가기

전체 글

(129)
[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. 함수 이름이 클..
[C++] const에 대해 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; /* const는 사용자캡슐화 목적으로 주로 사용 1. const field : 선언과 동시에 초기화를 해줘야하는데 할 수 가 없다 클론 초기화 기법으로 해줘야 한다 값을 읽기만 가능하다 2. const method : field의 값을 함수에서 읽기만 가능하게 한다 (쓰기 금지) 3. const Object : 고정된 객체 사용(읽기만 가능) * const는 const 끼리만 사용가능 */ class A { const int a; int b; public : A():a(10), b(20) { } voi..
[JAVA, 자바]Stack, Queue Memory & DynamicBinding영역 (스택, 큐 메모리 & 동적바인딩) 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 package pack02; import java.util.Scanner; abstract class Memory{ int i; int []arr; Memory(){ arr = new int[20]; i=0; } void push() { if(i>19) { Sy..
[JAVA, 자바]Wrapper Class (래퍼 클래스) Wrapper(포장) 클래스 - 기본 타입 값을 포장하는 객체 - 기본 타입의 값은 외부에서 변경할 수 없다. (내부의 값을 변경하고 싶다면 새로운 포장 객체를 만들어야 한다) - char 타입과 int 타입이 각각 Charctor와 Integer로 변경되고, 기본 타입의 첫 문자를 대문자로 바꾼 이름을 가지고 있다. 박싱(Boxing)과 언박싱(Unboxing) - 박싱(Boxing) : 기본 타입의 값을 포장 객체로 만드는 과정 - 언박싱(Unboxing) : 포장 객체에서 기본 타입의 값을 얻어 내는 과정 - 박싱 코드 // 생성자를 이용 // valueOf() 메소드 사용 - 언박싱 코드 // 각 포장 클래스마다 가지고 있는 "기본타입명 + Value()" 메소드를 호출하면 된다. 1 2 3 4 ..
[JAVA, 자바] 성적 처리 프로그램(toString 이용) 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..
[JAVA, 자바] 성적 처리 프로그램 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..