본문 바로가기
반응형

SWE/C++ OOP43

비트필드 Bit Field 비트필드(Bit Field)란? 클래스나 구조체를 정수 형식보다 작은 storage에 할당하는 것. 즉, 비트 단위로 저장이 가능하다. 코드 예시 //비트필드가 포함된 구조체 선언 struct Data { unsigned short nWeekDay : 3; // 0..7 (3 bits) unsigned short nMonthDay : 6; // 0..31 (6 bits) unsigned short nMonth : 5; // 0..12 (5 bits) unsigned short nYear : 8; // 0..100 (8 bits) }; 2019. 10. 15.
[c++] template(템플릿)이란? | 함수 템플릿, 알고리즘 추상화 템플릿이란? 함수나 클래스가 개별적으로 다시 작성하지 않고도 각기 다른 수많은 자료형에서 동작할 수 있게 한다. 템플릿의 종류는 함수 템플릿과 클래스 템플릿 두 가지가 있다. 함수 템플릿 : 하나의 함수를 모든 형의 변수에 대해 적용할 수 있게 정의할 수 있다. 함수의 정의와 선언 template template 위에 있는 것은 템플릿 전위문(prefix)이라고도 한다. 두 표현 모두 같은 의미이다. class나 typename 모두 사용 가능하다. (typename 키워드는 클래스를 생성 할 때 활용하는 class 키워드와 혼동되지 않도록 나중에 추가된 키워드이다) 뒤따라 나오는 함수 정의나 선언이 템플릿이며 T는 형 매개변수임을 컴파일러에게 말하는 것이다. 문맥상 class란 단어가 실제로 의미하는 .. 2019. 9. 27.
[c++] virtual function 가상함수 / 동적 바인딩 / 오버라이딩/ 순수가상함수 가상함수 virtual function : 함수를 가상(virtual)으로 만드는 것은 컴파일러에게 "나는 함수가 어떻게 구현되는지 모른다. 프로그램에서 사용될 때까지 기다려라. 그리고 객체 인스턴스로부터 구현을 얻어라." 라고 말하는 것이다. 동적 바인딩 dynamic binding : 프로시저의 구현을 결정하는 실행시간까지 기다리는 기법을 종종 사후 바인딩(late binding) 혹은 동적 바인딩(dynamic binding)이라고 부른다. 가상함수는 C++가 사후 바인딩을 제공하는 방법이다. 다형성 polymorphism : 다형성은 사후 바인딩 기법의 수단으로 한 함수 이름에 여러 의미를 연관시키는 능력을 말한다. 그리하여 다형성, 사후 바인딩 그리고 가상 함수는 실제로 모두 같은 주제이다. 오.. 2019. 9. 26.
[c++] private과 protected private : 멤버 변수 또는 멤버 함수는 다른 어떤 클래스의 멤버 함수에서도 그 이름 자체로는 접근할 수 없다. 심지어 파생 클래서의 멤버 함수에서조차도 말이다. protected : 파생 클래스(상속 받은 클래스)이외의 클래스 또는 함수에서는 private 제한자를 사용한 효과를 갖는다. 그러나 파생 클래스에서는 이름을 직접 사용하여 접근 가능하다. 2019. 9. 26.
반응형