분류 전체보기
-
벡터 - STLData/Container 2009. 1. 1. 16:19
std::vector .push_back() 해당 vector를 가리키고 있던 모든 반복자들은 무효화된다. .pop_back() .back() .insert() .erase() 삭제된 요소 다음에 있는 요소들을 가리키는 모든 반복자들은 무효화된다. .clear() .[]() ::size_type ::iterator ::const_iterator .begin() .end() std::sort() #ifndef GUARD_Student_info #define GUARD_Student_info class Student_info { public: Student_info(); Student_info(std::istream&); std::string name() const { return n; } bool vali..
-
규격프로그래밍 언어/네임 스페이스 2009. 1. 1. 15:32
클래스를 기능별로 분류하는 역할도 한다. * C++using-선언문 * C# * 자바패키지? 패키지 선언문소스의 가장 첫 줄에 있어야 한다패키지 이름과 위치한 폴더 이름이 같아야 한다(패키지 이름은 모두 소문자로 지정해야 한다) 기본(default) 패키지 // C:\basicjava\c\javapackage\subpackage c.javapackage.sub;public class Sub {public Sub() {...}public void subClassMethod() {...}} // C:\basicjava\c\javapackage\Package.javapackage c.javapackage;import c.javapackage.sub.Sub;//import c.javapackage.sub.*;p..
-
C++프로그래밍 언어/클래스 2009. 1. 1. 01:12
상속시 생성자, 소멸자, 대입 연산자 등은 제외된다. 가상 소멸자의 가상성(?)은 상속 실행할 가상(virtual) 함수를 런타임에 선택하는 것은 그 함수가 레퍼런스나 포인터를 통해 호출될 때에만 가능하다. 그렇지 않으면 정적 바인딩 가상 함수는 프로그램에서 그 함수를 호출하는지 여부에 상관 없이, 꼭 정의되어야 한다. 파생 클래스에서 오버라이드하는 함수의 타입은 기본 클래스의 그 가상 함수의 타입과 같아야 한다. 단, 반환 타입은 예외 반드시 초기화 리스트로 멤버를 초기화해야 하는 경우 상속받은 멤버를 초기화 포함된 객체 초기화 상수 멤버 초기화 레퍼런스 멤버 초기화 만약 클래스가 아무 생성자라도 명시적으로 정의했다면, 컴파일러는 그 클래스에 대한 디폴트 생성자를 자동으로 만들어 주지 않는다. eg. ..
-
제네릭 알고리즘제네릭 프로그래밍 2009. 1. 1. 00:37
컨테이너 요소들을 다룬다. 알고리즘은 그들이 사용하는 반복자들에 대해 어떠한 조건이 필요한지를 확실히 이해해야 한다. template IteratorType find( IteratorType first, IteratorType last, const elemType &value ) { for ( ; first != last; ++first ) if ( value == *first ) return first; return last; } template OutputIterator filter( InputIterator first, InputIterator last, OutputIterator at, const ElemType &val, Comp pred ) { while (( first = find_if( f..
-
C++프로그래밍 언어/예외 2009. 1. 1. 00:31
try { .. throw n; .. throw ".."; .. } catch(int) { .. } catch (const char *) { .. }입력과 출력을 포함하는 구문은 하나 이상의 부수 효과를 내지 말도록 한다. 표준 라이브러리 예외는 발생시킬 예외상황에 대한 설명인 (선택적인) 인자를 포함 what() 멤버 함수로 접근할 수 있다. #include exception 클래스 이미 존재하는 코드에 변경 불필요 .what() 지역 리소스 관리 #include std::auto_ptr #include std::domain_error std::runtime_error 참조 사이트: http://winapi.co.kr/clec/cpp3/cpp3.htm
-
C++스트림 IO/기타 2009. 1. 1. 00:22
사용자 정의 객체들에 대해서 동작할 수 있는 객체 지향 입출력 시스템입출력 라이브러리 // 표준 라이브러리C의 입출력 시스템은 객체에 대해서는 다루고 있지 않다. #include /* or #include //#include */ ios -> istream -> ifstream -> ostream -> ofstream -> iostream -> fstream 표준 출력 스트림 객체 cout .() .get() // ::getch() .getline() #include (w)ofstream .open() // 파일이 없으면 새로 만들고 이미 존재한다면 덮어쓴다. ofstream f("c:\\cpptest.txt"); ios_base::out ios_base::in ios_base::app ios_base:..
-
C++Data/string 2008. 12. 31. 23:43
std::string표준 라이브러리 // .copy().data() .clear() // Clear string.empty() // Test if string is empty.size() // Return length of string.length() // Return length of string.erase() .=() std::sort() //? std::copy() // memcpy() 스트링 포매팅 #include #include ostringstream ex_msg; string msg; ex_msg
-
픽쳐 박스(Picture Control)GUI/컨트롤 2008. 12. 31. 16:30
CStatic .SetBitmap() loadimage() LoadIcon, LoadCurosr, LoadBitmap 16비트 함수의 모든 기능을 통합해서 가지는 함수이며 몇가지 추가적인 기능을 더 가지고 있다. 이미지를 DIB 색션으로 읽을 수 있으며 파일 형태의 이미지를 읽을 수 있는 능력이 있으며 투명 처리, 크기 선택 등의 옵션이 적용된다. 32비트 프로그램에서는 가급적이면 이 함수로 이미지를 읽는 것이 좋다. 이 함수를 사용하면 DIB 파일을 읽어와 화면으로 출력할 수 있다. 이미지를 프린터로 출력할 때나 표준 크기가 아닌 아이콘을 읽을 때는 LoadIcon, LoadBitmap 대신 반드시 이 함수를 사용해야 한다. loadbitmap() HBITMAP hbit = LoadBitmap(AfxG..