프로그래밍/C++ 스피비 2011. 3. 28. 10:31
//공부:객체인스턴스와 객체포인터로 함수호출할떄 주의점!!!!!!(블로그에 정리함) // //ex)상속된 클래스가 있다고 가정해보자 class Person { public: void Work() { }; }; class Student : public Person { public: void Study() { }; }; //이게 있다고 가정해볼때, Student Instance; Instance.Work(); //당연히 가능! Student* pInstance; pInstance->Work();//당연히 가능! Person* pInstance2 = new Student; pInstance2->Study();//에러남! ( 부모 포인터로 자식클래스를 생성했기때문에 포인터 정적타입에 관한 멤버만 불러올 수 있다..
프로그래밍/C++ 스피비 2011. 3. 25. 11:23
많이 쓰지않는 용어라서 헷갈릴지 모르겠지만 가상상속이라는 용어가 존재한다. 이것은 상속관계에서 다중상속으로 다이아몬드 구조가 되었을때 멤버변수를 2번 초기화 시키지 않기 위해서 나온 문법이다. 자세한 내용은 잘 정리되있는 블로그로 슝슝~ http://blog.naver.com/islove8587?Redirect=Log&logNo=10025033292
프로그래밍/C++ 스피비 2011. 3. 25. 11:17
부모 클래스 ↔ 자식클래스 super클래스 ↔ sub클래스 base클래스 ↔ Derived클래스 부모클래스 ↔ 자식클래스 기본클래스 ↔ 파생클래스 상위클래스 ↔ 하위클래스 기초(기저)클래스 ↔ 유도클래스
프로그래밍/C++ 스피비 2011. 3. 24. 16:45
예외처리- try-catch문 정리!!! 1.예외(Exception)란? : 프로그램의 정상적인 실행을 방해하는 조건이나 상태(에러X) 2.try-catch문? =>try-catch문은 C++문법으로 언어차원에서 지원하는 예외처리 구문이다. if-else문을 쓰다보니 가독성이 너무 떨어지고, 소스가 반복이 많아서 너무 비효율적이다. 그래서 예외처리 문법을 제공하는 것이다. 이것은 라이브러리 수준이 아닌 언어 차원에서 새로운 예외처리문법을 제공하는 것이다. try: 예외가 발생할만한 코드 블록을 지정 try{} 괄호 안에 예외 처리 대상 코드를 작성한다. 이블록안에서 예외가 발생했을 때 throw 명령으로 예외를 던짐. throw: 프로그램이 정상적으로 실행될 수 없는 상활일 때 이 명령으로 예외를 던진다..
프로그래밍/C++ 스피비 2011. 3. 24. 11:09
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 1.explicit 사전: 명백한~ 뜻: 명시적인 것만 허용한다! ( 복사생성자 호출될때 명백한것만 허용함 ) 위 소스를 그대로 컴파일과 실행을 시키게 된다면 특별하게 문제가 되는 곳은 없습니다. 일단 소스에서 main부분을 보게 된다면 Test test1 = 10; 이 부분에서는 객체를 생성해서 거기에 10이라는 값을 넣는다라는 뜻이지만, 묵시적으로 c++ 컴파일러에서 자동으로 생성자로 생성을 하게 됩니다. 그리고 function(10); 이 부분에서도 매개변수로 Test형으로 취해져야 하지만, c++ 컴파일러에서 묵시적으로 Test형으로 변환을 시켜 주게 됩니다. 이렇게 비슷하게 소..