본문 바로가기

OLD/[C++]개념정리13

[개탱][C++][Dynamic Binding][동적 바인딩] Dynamic Binding(동적 바인딩) Static Binding (정적 바인딩) - 함수 호출을 위한 바인딩이 실행시에 이루어지는 제도 - 규칙 - i) Pointer를 이용하여 함수를 호출한다. ex[ x->f() ] ii) Virtual(가상함수) 우리가 간단하게 동물과 관련된 프로그램을 만든다고 생각을 하고 코딩을 해보자 [먹고 울어대는 함수만 구현] 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.. 2018. 1. 2.
[개탱][C++][상속][inheritance][사원관리 프로그램][행렬][자료구조][수정필요] //상속관계를 이용한////행렬을 이용한 사원별 차량판매 프로그램//아래와 같이 부모클래스로 쓸 메트릭스를 만들어준뒤 (내부소스는 생략하겠습니다. 직접 짜보길 !)123456789101112131415161718192021222324252627282930class Matrix {protected: double **m_ptr; //행과 열을 동적으로 사용 int m_row; int m_col; int m_precision; void copy(Matrix &m); void freeMemory(); int getMaxDataWidth();public: Matrix(); Matrix(int row,int col); Matrix(Matrix &m); virtual ~Matrix(); int row(); int c.. 2018. 1. 2.
[개탱][C++][상속][inheritance][수정필요] 상속 (inheritance) - 기존에 존재하는 클래스의 자원 (데이터 멤버, 멤버 함수)를 물려받아서 재사용하는 제도 - 복사를 하지않고 그대로 사용이 가능 // Super Class // Parent(부모) Class // Base Class-> 상속을 시켜주는 Class // Sub Class // Child(부모) Class // Derived Class-> 상속을 받는 Class 특성부모 클래스에서 자식 클래스에 넘겨주는 Data Member에 대해서 -> 삭제 X, 변경 X -> 추가 O 부모 클래스의 Data Member 와 자식 클래스의 Data Member 의 변수명이 같아도 이상없음! 부모클래스에 int a; 를 선언해주고 자식 클래스에서 int a; 를 선언해준뒤자식클래스에서 a를 .. 2018. 1. 2.
[개탱][C++][shallow copy][deep copy] //shallow copy -> 포인터값을 복사할때 복사대상자가 가리키고있는 포인터 주소를 넘겨주는 경우. ex) char* pChar = _strdup("2fkljasdfljksa"); char* pChar2 = pChar; //deep copy -> 포인터값을 복사할때 포인터가 가리키는 힙영역 자체를 복사하여 가리키게 하는경우 char* pChar = _strdup("2fkljasdfljksa"); char* pChar2 = _strdup(pChar;) 2018. 1. 2.
[개탱][C++][Operator Overloading][Operator][Overloading][복소수][complexNumber][2] 기본틀 http://gaetaeng.tistory.com/33[Operator Overloading][Operator][Overloading][복소수][complexNumber][1] 여기서 우리는 복소수 a, b, c의 값을 출력하기 위해서1234567891011121314151617181920212223242526272829int main(){ ComplexNumber a(3.1,5.4); ComplexNumber b(1.6,1.3); ComplexNumber c; a.print(); b.print(); //양수 계산 c = a + b; c.print(); //음수 계산 c = a - b; c.print(); //실수부분 추출 double r = a.real(); cout 2018. 1. 2.
[개탱][C++][Operator Overloading][Operator][Overloading][복소수][complexNumber][1] Operator Overloading ex ) X = "Kim" + "Lee" 를 하고X를 출력해서 KimLee 가 출력되게 하고싶은데 기본 C에서는 이게 불가능하다.이때 C++에서 이를 가능하게 해주게 하기위해서 Operator Overloading 이다. [JAVA 에서는 사용 불가] ex)복소수를 다룰 때 a = 3.1 + 5.4i b = 1.6 + 1.3i c = a + b; 이렇게 하나의 변수에 실수와 허수를 동시에 담아야 하니까 Class(구조체↑)를 사용하면 좋다.이를 예시로 코드를 짜보겠다. 그저 완성된 마지막 코드를 원한다면제일 밑을 보세요! 먼저 복소수의 실수와 허수를 저장하기 위해 123456789101112131415class ComplexNumber {private : double.. 2018. 1. 2.