추가되는 기능 정의된 class의 기능을 재정의하거나 확장하고자 할 때 해당 class를 상속할 수 있다.상속받은 class(이하 'Derived')는 상속되는 class(이하 'Base')의 모든 기능을 포함하고 있다. #include class Base { private: int value; public: int get() const { return value; } void set(int value) { this->value = value; } }; class Derived : public Base {}; // ^^^^^^ ^^^^ int main() { Derived d; d.set(10); std::cout
추가되는 기능 사용되는 타입이 다른 타입으로도 같은 수행이 보장되어 일반화할 수 있을 때 template을 사용한다. int add(int a, int b) { return a + b; } float add(float a, float b) { return a + b; } int sum_int = add(10, 20); // = 30 float sum_float = add(10.5f, 20.5f); // = 31 template T add(T a, T b) { return a + b; } int sum_int = add(10, 20); float sum_float = add(10.5f, 20.5f);template을 사용할 경우 코드의 재사용성이 높아지며 같은 코드를 반복적으로 작성할 필요가 없어진다. 이..
추가되는 사항명시적으로 초기화, 소멸 함수를 정의하지 않고 class의 객체가 생성, 소멸할 때 호출되는 함수를 활용한다. Raw pointer를 다루는 class가 복사될 때 pointer 해제의 문제를 해결한다. 같은 class의 값으로 선언과 초기화를 동시에 할 때 호출되는 복사 생성자를 정의한다.목표Constructor와 destructor를 정의한다. 객체의 복사 과정을 이해한다. Copy constructor를 정의한다.디자인다음 생성자가 추가된다.vector()vector(const vector& v) 소멸자가 추가된다.~vector() 다음 멤버 함수가 삭제된다.initialize()finalize() 생성자와 소멸자class Object { private: int data; public:..
추가되는 사항 C++에서 명시적으로 멤버 변수를 가려야할 경우 class를 활용한다. struct와 다르게 class는 기본 접근 지정자가 private이고 외부에서 접근을 허용할 경우 public으로 지정해야한다. class Object { int pri; public: int pub; }; Object o; o.pri = 10; // Error o.pub = 10; // OK class 외부에서 멤버 변수 또는 함수에 접근을 막을 경우 private 기호를 활용한다. class Object { private: int pri; void foo() {} public: int pub; void bar() {} }; Object o; o.pri = 10; // Error o.foo(); // Error o...
- Total
- Today
- Yesterday
- inline class
- cyanogenmod
- C++
- g2 korea
- Kotlin
- C++ 업캐스팅
- OOP
- CM10.2
- rule_of_five
- f320k
- PipelineContext
- c++ struct
- 포인터
- d802
- G2
- f320s
- linaro
- nodeal
- CM11
- c++11
- c++ 상속
- 객체지향
- dokdo project
- dokdo 4.0.3
- vector
- Java
- LG
- rule_of_three
- C
- dokdo-project
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |