
08-1: 객체 포인터의 참조관계 객체 포인텨 변수: 객체의 주소 값을 저장하는 포인터 변수 Person*ptr ;// 변수 선언 ptr=new Person() // 참조선언 Person형 포인터는 Person 객체 뿐만 아니라 유도 클래스의 객체도 가리킬 수 있다. class Student: public Person { }; Person *ptr =new Students(); class PartTimeStudent: public Student { }; C++에서 ,AA형 포인터 변수는 AAA 객체 또는 AAA를 직접 혹은 간접적을 ㅗ상속하는 모든 객체를 가리킬 수 있다.(객체의 주소값을 저장할 수 있다.) 유도클래스의 객체까지 가리킬 수 있다니! IS-A 관게를 통해 이해할 수 있다. 학생은 사람이다...

07-1 상속에 들어가기에 앞서 상속(Inheritance)의 이해를 위한 이 책의 접근 방식 1단계:문제의 제시 2단계:기본개념 소개 3단계 문제의 해결 상속에 대한 새로운 관점의 소개 '기존에 정의해 놓은 클래스의 재활용 목적으로 만들어진 문법적 요소가 상속이다.' ->단순히 재활용 이외에 목적이 있다. 문제의 제시를 위한 시나리오의 도입 class PermanentWorker { private: char name[100]; int salary; public: PermanentWorker(char* name, int money) :salary(money) { strcpy(this->name, name); } int GetPay() const { return salary; } void ShowSalar..

const 객체와 const 객체의 특성들 const int num =10; const SoSimple sim(20); 이 객체의 데이터 변경을 허용하지 않겠다. #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; class SoSimple { private: int num; public: SoSimple(int n) :num(n) {} SoSimple& AddNum(int n) { num += n; return *this; } void ShowData() const { cout

05-1 복사 생성자는 왜 필요한가? C++ 스타일의 초기화 int num=20; int &ref=num; 우리는 이렇게 초기화했지만 다음 방법도 가능하다. int num(20); int &ref(num); class SoSimple { private: int num1; int num2; }; SoSimple=sim1; SoSimple sim2=sim1; sim2 num1 이 형태로만 객체 생성을 할 수 있다. 참고 복사 생성자의 매개변수는 반드시 참조형이어야 하는가? 05-2 '깊은 복사'와 '얕은 복사' 디폴트 복사 생성자의 문제점 #include #include using namespace std; class Person { private: char* name; int age; public: Per..
04-1 정보은닉(Information Hiding) 정보은닉의 이해 class Point { public: intx;// 0이상 100이하 inty; //0이상 100이하 } ` 저의 좌표는 0이상 100이하가 되어야 하는데, 그렇지 못한 Point 객체가 있다 - 직사각형을 의미하는 Rectangle 객체가 좌 상단의 좌표 값이 우 하단의 좌표값보다 크다. ->제한된 방법으로만 접근을 허용을 해서 잘못된 값이 저장되지않도록 도와야 하고, 또 실수를 했을 때, 실수가 쉽게 발견되도록 해야한다. 멤버변수를 private로 선언하고, 해당 변수에 접근하는 함수를 별도로 정의해서, 안전한 형태로 변수의 접근을 유도하는 것이 바로 '정보은닉'이며, 이는 좋은 클래시가 되기 위한 기본조건이 된다. const 함..
03-1 C++에서의 구조체 구조체의 등장배경은 무엇인가? 연관 있는 데이터를 하나로 묶으면 관리가 용이하다 소프트웨어=데이터의 표현+데이터의 처리 C++에서의 구조체 변수의 선언 struct 키워드를 이용해 C에서 사용했다. 구조체 안에 함수 삽입하기. 함수도 같이 묶어버리면 어떻게 되겠는가? C++에서는 구조체 안에 함수를 삽입하는 것이 허용된다. 구조체 안에 enum 상수의 선언 구조체 내에서만 유효한 enum, 다른 곳에서 사용X 함수는 외부로 뺄 수 있다. 선언되어 있는 변수 정보 정의되어 있는 함수 정보 struct Car { void showCar(); void Accel(); } void showCar() { } void Accel() { } 03-2 클래스(class)와 객체(object..
02-1 Chapter 02 시작에 앞서 C언어의 복습을 유도하는 확인연습 문제 [문제1] 키워드 const의 의미 const int num=10; ->변수 num을 상수화 const int*ptr=&val1; ->포인터 ptr을 통해 val의 값을 변경할 수 없음 int*const ptr2=&val2; ->포인터 ptr2가 상수화됨 const int *const ptr3=&val3; -> ptr3가 상수화 되었으며 ptr3을 이용해서 val3의 값을 변경할 수 없음 [문제 2] 실행중인 프로그램의 메모리 공간 데이터: 전역변수가 저장되는 공간 스택: 지역변수 및 매개변수가 저장되는 영역(함수호출) 힙: malloc 함수호출에 의해 동적할당 [문제 3] Call-by-value vs Call-by-ref..
- Total
- Today
- Yesterday
- 회계
- 보세사
- 인프런
- 열혈프로그래밍
- 일문따
- 통계
- 인지부조화
- C
- stl
- 심리학
- 류근관
- 파이썬
- 일본어문법무작정따라하기
- c++
- C/C++
- 강화학습
- 사회심리학
- 여인권
- 정보처리기사
- 윤성우
- 코딩테스트
- 일본어
- 뇌와행동의기초
- 통계학
- 백준
- K-MOOC
- 오블완
- 티스토리챌린지
- 데이터분석
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |