스마트웹앱콘텐츠전문가/C++ 7

[가상 함수와 다중 상속 : 상속의 개념 연장선]

- 오버라이딩(Overriding) : 자식 클래스에서 부모 클래스를 상속하는 관계에서 부모 클래스에서 정의한 멤버 함수를 자식 클래스에서 다시 정의해서 사용하는 것을 의미함. 여기서 문제는 함수 오버라이딩을 하게 되면 부모 클래스와 자식 클래스 모두 동일한 이름의 멤버 함수를 사용할 수 있는데, 어떤 경우에 부모의 멤버 함수를 호출할 것인지, 아니면 자식의 멤버 함수를 호출할 것인지 혼동할 수 있음 -> 이러한 문제를 해결하기 위해서 '가상 함수'를 제공하고 있음.- 일반적으로 가상 함수를 가지고 있는 클래스의 경우, 자식 클래스에서만 가상 함수를 구현하고 부모 클래스에서는 가상 함수를 구현하지 않는 경우가 있는데 이때 순수 가상 함수를 가용할 수 있음. 순수 가상 함수가 있는 클래스를 추상 클래스(A..

[객체 지향 언어의 특징][상속]

○ 상속의 기본 개념- [기본의미]부모의 성질을 물려 받는 것 -> 하나의 클래스가 다른 클래스에서 정의되어 있는 성질이나 특성을 물려 받을 수 있는데 클래스의 정의된 성질이나 특성은 멤버 변수나 함수를 그대로 사용할 수 있음을 의미 = 재사용성, 다형성(Polymorphism)- 부모 클래스와 자식 클래스 사용예시) class 자식 클래스 : public 부모 클래스 {/* 중간 코드 생략 */};○ 상속과 접근 지정자(객체지향에서 정보 은폐의 특징을 표현00)- 자식 클래스가 부모 클래스의 멤버 변수나 함수를 사용할 때에는 접근 지정자(public, protected, private 등)에 따른 제약 사항이 있음. 'private' : 부모 클래스 내부에서만 사용 가능(단, 프렌드 함수 사용 시 에는..

[friend와 연산자 오버로딩]

○ 멤버 함수와 가시성 : private , public, protected 같은 접근 지정자를 이용하여 클래스의 정보 은폐 기능을 함. 정보 은폐를 하면 객체의 신뢰성이 높아지고 기능 개선이 용이하게 됨.○ friend ● 정보 은폐를 해도, 프렌드(friend)라는 명시적으로 지정한 대상에 대해 모든 멤버를 공개하도록 할 수 있는 방법도 있음.(즉, 정보 은폐에 대한 에외 사항) ※ 필요한 경우를 제외하고는 너무 자주 사용하는 것은 좋지 않음● 전역 함수, 클래스, 멤버 함수를 프렌드로 지정할 수 있음.- 프렌드 함수 : 어떤 클래스 내에서 프렌드 함수는 클래스의 모든 멤버들을 접근 지정자에 관계 없이 접근할 수 있는 권한을 부여 받은 함수임. (예: 클래스 A에서 클래스 B를 프렌드로 선언한 경우,..

[객체배열과 객체포인터]

○ 객체 배열(동일한 클래스에 속하는 객체를 여러 개 생성하기 위해서 객체로 이루어진 배열를 생성할 수 있는 데 이를 객체 배열이라 함)● 형식 : 표준 데이텨형에서 배열을 선언하는 것과 동일한 방법을 사용. 예) Date Mday[3] = {Date("a", 2019, 1, 10),Date("b" 2019, 1, 10),Date("c", 2019, 1, 10) }; //3개의 Date 객체로 이루어진 배열 생성 ○ 객체 포인터(=this)● 클래스 내의 멤버 함수들은 객체의 시작 주소 값을 기억할 수 있는 숨겨진 매개 변수인 this 라는 클래스형 주소 변수를 가지고 있음. 이것을 this 포인터 변수라 함. 하나의 함수가 두 개의 객체를 동이세 처리할 수 있는 경우 this라는 특별한 포인터를 사용함..

기초구문

○ 연산자, 조건문, 제어문, 배열, 포인터...○ main() 함수에서 시작.○ c++ 에서는 데이터의 타입을 객체가 알아서 판단해주므로, 서식 지정 필요 없음. ○ 제어문(반복문과 조건문)1. 조건문 : 조건을 판단하여 참과 거짓 여부에 따라 프로그램 처리 방향을 변경하는 데 사용- if문 : if(조건식) 문장; //조건식이 참일 떄 실행 문장문장; //조건식이 거짓일 때 실행 문장- if ~ else, if ~ else if문 - switch ~ case문 : 정수 값이나 문자를 이용한 조건 판단에 이용. switch(조건식) {case 식1:명령문;break;case 식2:명령문;break;...default:명령문;break; }2. 반복문- for문: for(초기값; 조건식; 반복식){ 반복..

개발 환경 구축

1. ○ 이클립스- JRE 설치- 이클립스 설치 : https://www.eclipse.org/downloads/packages/ -> 루나버전 -> Eclipse IDE for C/C++ Developers- CDT 설치 : 이클립스 실행 후 help - Install New Software Install창에 CDT를 다운로드 받기 위한 repository 주소를 추가(http://www.eclipse.org/cdt/downloads.php 참조) 다운로드 주소(https://download.eclipse.org/tools/cdt/releases/8.5/) 검색 후 CDT Main~, CDT Optional ~ 체크 후 Next -> 라이센스 동의 후 설치- MinGW 설치 및 환경 변수 설정 :○ M..