728x90 반응형 C++/기초(두들낙서)37 [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 #include using namespace std; class Base { public: void bFunc() { cout 2022. 1. 17. [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 #include #include using namespace std; class Item { public: Item(int num):num(num) { cout 2022. 1. 16. [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 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 #includ.. 2022. 1. 16. [C++기초] 깊은복사, 얕은 복사 - 대입연산자 대입 연산자 그동안에는 객체가 생성될 때 복사가 같이 이뤄지는 경우 (복사생성자)를 봐왔는데 이번에는 객체가 먼저 생성되고 -> 이후에 대입이되는 코드를 짜보려한다. 이럴때도 연산자 오버로딩이 쓰인다. 연산자 오버로딩을 하기 위한 메서드를 만들면 'operator=' 메서드를 만들면 된다. s3=s1;은 사실상 s3.operator=(s1); 이라 생각해도 된다. 이렇게 s3=s1인 등호 연산을 실시하면 얕은복사가 일어난다. 이를 방지하기 위해 operator= 메서드의 코드를 채워볼 것이다. 우선 operator메서드에서 매개변수를 &rhs인 레퍼런스 변수로 받아올 건데 그냥 rhs만 받아오면 s1이 rhs에 복사된다. 하지만 레퍼런스변수를 사용하면 s1이 rhs에 복사되는 형태가 아닌 rhs가 s1을.. 2022. 1. 16. 이전 1 ··· 3 4 5 6 7 8 9 10 다음 728x90 반응형