본문 바로가기

CS/C++

(5)
[C++]템플릿(template) 1. 템플릿템플릿은 함수나 클래스의 형틀입니다. 형틀에는 다양한 자료형을 넣고 사용할 수 있습니다. 필요에 따라 원하는 함수나 클래스로 템플릿을 이용해 찍어낼 수 있습니다. 2. 함수 템플릿두개의 수를 비교하여 큰값을 얻는 함수를 만든다고 가정합시다. 그런 함수는 아래와 같게 됩니다.1234567int intMax(int a,int b){ if(a>b){ return a; }else{ return b; }}cs 위 함수는 int형만 비교할 수 있기 때문에 double형을 위한 함수도 생성합니다.12345678double doubleMax(double a,double b){ if(a>b){ return a; }else{ return b; }} Colored by Color Scriptercs 생각해보니 c..
[C++]다형성(Polymorphism) 다형성(Polymorphism)은 OOP(Object Oriented Programming)에서 서로 다른 객체들 사이에서도 같은 함수에 대해서 각각이 다르게 동작하는 것입니다. 쉽게 예를 들어 설명하면, 동물은 모두 각각의 소리를 냅니다. 개는 멍멍하고 짖고, 고양이는 야옹~ 하면서 짖습니다. 객체지향적인 개념으로 생각하면 동물 클래스를 상속받은 개와 고양이는 모두 '짖다'라는 함수를 가지고 있는데 이 함수는 개인지 고양이인지에 따라 내용이 달라집니다. 여기서 동물은 모두 짖는다는 사실은 변하지 않습니다. 위와같은 구조를 그림으로 나타내면 아래의 그림과 같습니다.동물 클래스는 짖는다는 사실은 모든 동물들에게 해당이 됩니다. 하지만 동물이 짖을수는 없습니다. 이러한 행위는 가상함수(virtual func..
[C++]복사생성자(Copy Constructor) 복사 생성자(Copy Constructor)는 같은 형태의 객체를 인자로 전달하는 생성자입니다.C++에서는 변수 초기화 방법이 2가지가 있습니다. 123int A = 5;//방법1int B(3);//방법2cout
[C++]상속 접근 지시자 보통 상속은 아래처럼 이루어집니다. 123class Child : public Parent{ };cs child는 parent 클래스를 상속받아 생성된다.여기서 public은 상속 접근 지시자(접근 제한자)중 하나이다. 상속 접근 지시자는 상속을 받을때 어떤 수준으로 상속을 받을지 결정합니다. 수준은 총 3가지(private,protected,public)로 분리됩니다. 3가지의 수준은 아래와 같은 정도의 상속정도를 나타냅니다.각 수준이 어느 정도인지는 아래에서 설명하겠습니다. 여기서는 누가 상대적으로 높은 수준인지를 알 수 있습니다. 상속 접근 지시자에 의해 각 멤버들이 어떻게 상속되는 지를 표현한 표를 봅시다. 각 항목은 상속받은 부모의 멤버들이 자식클래스에서 어떤 멤버에 해당되는지를 나타냅니다.여기..
[C++] 다중상속(Multiple inheritance) 1. 다중상속 C++에서는 하나이상의 클래스를 상속받을 수 있습니다. 이것을 다중상속(Multiple inheritance)라고 합니다. 1234567891011121314151617181920212223242526272829303132#include using namespace std; class A{public: A_F(){ cout