공부/C++
-
[C++] Dynamin Binding <Virtual Function, Virtual Destructor>공부/C++ 2020. 11. 6. 19:48
상속개념을 도입하면서 유용하게 사용할 수 있는 동적바인딩!! 우선 Binding(바인딩)이란? 프로그램 구성 요소의 성격을 결정해주는 것 예를 들면 변수의 데이터 타입을 결정하는 것이 있어요. 그렇다면 동적 바인딩이란?? Dynamic! 즉 실행시간에 구성요소의 성격이 결정되는 것 C++ 에서 Dynamic Binding을 사용하려면??? 1. virtual 부모 클래스의 멤버함수에 가상함수를 생성해요 2. variable type, value type 부모클래스 포인터 또는 레퍼런스 타입을 변수 타입으로! child클래스의 객체를 값으로! 예시 코드를 보면서 이해해봐요😎 class Person { public: virtual void talk() {cout
-
[객체지향프로그래밍] 응집도(Cohesion)와 결합도(Coupling)공부/C++ 2020. 11. 3. 17:56
살짝 비스무리한 느낌에 헷갈리는 두 용어! 딱 한 문장으로 정리하면? HIGH Cohesion Loose Coupling 응집도, Cohesion 하나의 모듈안에서 관련성 있게, 끈끈하게 응집되어 있는 정도를 말해요. 즉, 응집도가 낮다는 말은 모듈안에 관련이 없는 구현들이 잔뜩 있는 것을 말합니다! 결합도, Coupling 여러 모듈이 의존하고 있는 정도를 말해요. 서로서로 결합이 되어 있을 수록 의존도가 높겠죠? 이러한 경우에는 코드를 재사용하기 번거롭습니다. HIGH Cohesion Loose Coupling !
-
Pair공부/C++ 2020. 7. 26. 04:33
Pair 두 객체를 하나의 객체로 취급할 수 있게 묶음. #include pair p = make_pair(a, b); p.first p.second vector 이용 #include #include #include #include #include using namespace std; int main() { vector v; v.push_back(pair(3, "A")); v.push_back(pair(1, "C")); v.push_back(pair(2, "E")); v.push_back(pair(2, "B")); sort(v.begin(), v.end()); vector::iterator iter; for(iter = v.begin(); iter != v.end(); iter++){ cout