본문 바로가기

C++ 객체지향 프로그래밍

C++ 객체지향 프로그래밍 Chapter 22 상속과 포함 - 2 상속 문서 저장 클래스.의 구현. 예제에 쓰이는 각 코드들. DocWriter.h #ifndef DOCWRITER_H #define DOCWRITER_H #include using namespace std;// 스트링 클래스를 사용하기 위한 준비. class DocWriter { public: DocWriter(); DocWriter(const string& fileName, const string& content); ~DocWriter(); // 파일 이름을 지정 void SetFileName(const string& fileName); // 저장할 텍스트를 지정 void SetContent(const string& content); // 파일에 텍스트를 저장시킨다. void Write(); prote.. 더보기
C++ 객체지향 프로그래밍 Chapter 23 다형성과 가상함수 가상함수가 쓰이는 시기는 언제인가. ??? Shape 클래스와 자식 클래스들. 책 페이지 667 의 코드[단일 실행이 가능함] 책 내의 코드 우측에 쓰여있는 문장이나 굵은 글씨로 된 것 들을 모아두었다. 이 코드는 가상함수가 쓰인것이 아니다. #include using namespace std; // 일반적인 '도형'을 상징하는 클래스 class Shape {//Shape 클래스의 정의, 원 , 사각형 같은 일반적인 도형들이 public://공통적으로 가지는 속성들을 여기에 정의한다. 자식 클래스들은 void Move(double x, double y);//이 멤버들을 자동적으로 상속받게 된다.// void Draw() const;//모든 도형 클래스들은 자신을 움직이거나, 그리는 함수가 필요하다. Sh.. 더보기
C++ 객체지향 프로그래밍 Chapter 22 상속과 포함 상속과 포함 이래놓고 포함부터 가르치는 이유는 모르겠다.[제목과 순서의 미스매치.] ----------------------------- Rect::Rect(int left, int top, int right, int bottom) : _topLeft( left, top), _bottomRight( right, bottom) //초기화 리스트, {// ㄴ _topLeft 객체의 생성자를 호출한다. ㄴ _bottomRight 객체의 생성자를 호출한다. // 생성자의 코드 } -------------- 초기화 리스트로 객체의 생성자를 지정하는 코드 생성자의 실행 순서와 소멸자의 실행 순서는 다음과 같다 생성자의 경우 1. 밖의 생성자에서 쓰이는 속에있는 함수들이 먼저 실행된다. 2. 후에 밖의 생성자에서 쓰.. 더보기
C++ 객체지향 프로그래밍 Chapter 21 클래스와 객체 - 2 헤더 파일을 사용한 클래스의 예제. 각 파일별 코드가 있다. 일단은 main.cpp[메인이지만 이름은 아무렇게나 해도 상관없음.] #include "point.h" int main() { // 객체를 생성한다. Point pt; pt.SetX(50); pt.SetY(50); // pt의 내용을 출력한다. pt.Print(); return 0; } point.cpp #include "point.h" #include using namespace std; Point::Point(const Point& pt) { x = pt.x; y = pt.y; } Point::Point(int initialX, int initialY) { SetX(initialX); SetY(initialY); } Point::Point(.. 더보기
C++ 객체지향 프로그래밍 Chapter 21 클래스와 객체 설명이 좀 없는 단어에 대한 글 멤버 변수 / 멤버 함수 / 생성자 / 접근자 / 소멸자 이게 뭘뜻하는가 클래스는 클래스 객체 라고 하는 흔히 쓰이는 글쓰기 양식이나 서식 같은 것이다. 여기서 멤버 변수 란 해당 클래스 내에서 정의되고 사용되는 변수. 멤버 함수란 해당 클래스 내에서 사용되는 함수[함수의 내용을 정의해주어야 작동한다] 생성자 란 클래스 내부의 멤버 변수에 관련된 값들에 변화를 줄 수 있는 함수+ 인자 가 묶인 외부에서 호출 가능한 함수. 접근자 란 클래스 내의 접근 권한에 따라 외부에서 접근이 불가능한 것을 가능하게 해주는 기능 소멸자 란 따로 메모리를 해제하지 않아도 사용된 메모리를 해제해주는 코드를 작성하여 자동으로 메모리를 해제하게 하는 기능 을 말한다. 대충 그려본 그림 \\\\\.. 더보기