본문 바로가기

클래스

[C++] 함수 템플릿과 클래스 템플릿 (Function template & Class template) 함수 템플릿 템플릿의 종류에는 함수 템플릿, 클래스 템플릿 이 두가지로 나뉠 수 있다. 책마다 함수 템플릿 또는 템플릿 함수로 이 두가지로 표기가 되어 있는데, 이런 명사 두개가 오는 단어들은 뒤에가 진짜다. 우선 함수 템플릿, 템플릿 함수의 의미를 정리 해보자. - 함수 템플릿 : 함수를 기반으로 구현이 된 템플릿 (함수가 아니라는 뜻이다) - 템플릿 함수 : 템플릿을 기반으로 한 함수라는 뜻 우리가 앞서 본 템플릿 예제는 함수 템플릿이다. 이 함수 템플릿에 대해 좀 더 자세히 알아 보자. 둘이상의 타입에 대한 템플릿 #include using namespace std; template // 함수 템플릿 정의 void ShowData(T a, T b) { cout 더보기
[C++] 상속의 마지막, 다중 상속(Multiple Inheritance) 다중 상속이란? #include using namespace std; class AAA{ public: void String1(){ cout 더보기
[C++의 특징 - 4] 구조체와 클래스 (Structure & Class) 1. C언어에서의 구조체 : 구조체란 다른 타입을 가지는 변수들을 하나의 이름으로 묶어둔 것이라고 할 수 있다. 그럼 구조체를 왜 사용할까? 구조체는 관련있는 데이터를 하나의 자료형으로 묶어서, 프로그램의 구현 및 관리가 용이 해진다는 장점을 가지고 있기 때문이다. C언어에서 구조체에 대한 불만이라고 한다면, 구조체를 기본 자료형으로 인식해 주지 않는다는 점이다. 아래 예제를 보자. //Person이라는 사용자 정의 자료형 (Structure) struct Person{ int age; char name[10]; }; int main() { int a =10; Person P //C에서는 에러가 난다. return 0; } 2. C++에 와서 달라진점? C++로 넘어오면서 구조체 사용에 대해 달라진점이 .. 더보기
[C++] 클래스에서의 멤버 변수, 멤버 함수의 상수화 (const의 사용법) 일단 const에 대해서는 이미 언급을 해 놓았죠. [C/C++] 콘스트(const)란? (←링크 참조) 그럼 C++에서 클래스라는 곳에서는 어떻게 쓰이는지 한번 알아 보도록 하겠습니다. const 멤버 변수 : 우선 예제를 먼저 보도록 하겠습니다. #include using namespace std; class Student { const int id; int age; char name[20]; char major[30]; public: Student(int _id, int _age, char* _name, char* _major) { id=_id; //에러 age=_age; strcpy(name, _name); strcpy(major, _major); } void ShowData() { cout 더보기