C++

    6. 접근 지정

    Reference : 명품 C++ 프로그래밍 / 황기태 / 생능출판사

    5. 소멸자

    Reference : 명품 C++ 프로그래밍 / 황기태 / 생능출판사

    4. 생성자

    4. 생성자

    생성자란? 생성자 (constructor) : 클래스는 객체가 생성될 때 자동으로 실행되는 생성자 라는 특별한 멤버 함수를 통해 객체를 초기화 생성자의 특징 생성자의 목적은 객체가 생성될 때 필요한 초기 작업을 위함이다 생성자 함수는 오직 한 번만 실행된다 생성자 함수의 이름은 클래스 이름과 동일하게 작성되어야 한다 생성자 함수의 원형에 리턴 타입을 선언하지 않는다 생성자는 중복 가능하다 객체 생성과 생성자 실행 위임 생성자, 생성자가 다른 생성자 호출 기능 C++11 부터는 중복된 초기화 코드를 하나의 생성자로 몰고, 다른 생성자에서 이 생성자를 호출할 수 있게 한다. 타겟 생성자 (target constructor) : 객체의 초기화 작업이 코딩된 Circle(int r)를 타겟 생성자라고 부름 위임..

    3. 객체 생성과 객체 활용

    3. 객체 생성과 객체 활용

    객체의 생성과 객체 이름 객체는 클래스 모양과 기능을 그대로 간직한 실체로서 이름을 가진다 기본 타입의 변수를 선언하는 것과 같은 방법으로 객체를 생성하고 이름을 붙인다. int money;// int 타입의 변수 money 생성 Circle donut;// Circle 클래스의 객체 생성, 객체 이름은 donut Circle pizza;// Circle 클래스의 객체 생성, 객체 이름은 pizza 변수가 생성되면 메모리에 변수 공간이 할당되는 것처럼, 객체가 생성되면 클래스 크기의 메모리가 할당된다. 객체의 멤버 접근 객체이름.멤버 => 객체의 멤버에 접근하기 위해서는 객체 이름 뒤에 .(점)을 찍고 그 뒤에 멤버를 쓴다 donut.radius = 1;//donut 객체의 radius 멤버에 1 기록 ..

    2. C++ 클래스 만들기

    2. C++ 클래스 만들기

    클래스 만들기 C++에서는 class 키워드를 이용하여 클래스를 선언 C++ 클래스는 C 언어의 구조체(struct)와 같이 개발자가 정이하는 새로운 데이터 타입 Circle은 반지름 값을 가지는 radius 멤버 변수와 외부에 원의 면적 값을 제공하는 getArea() 멤버함수를 가지고 있음 클래스는 클래스 선언부(class declaration)와 클래스 구현부(class implementation)으로 나뉘어 작성됨 클래스 선언부 : class 키워드로 클래스의 모양을 선언 클래스 구현부 : 클래스의 멤버 함수들을 구현 클래스 선언부 - 클래스 : class 키워드와 이름으로 선언 class Circle // Circle 이름의 클래스 선언 { .... };// 반드시 세미콜론(;)으로 종료 - 클..

    1. 객체에 대한 이해

    1. 객체에 대한 이해

    세상 모든 것이 객체다 그림과 같이 우리 주변에 있는 모든 것이 객체다. 즉, 실세계는 객체들의 집합이다 객체 (odject) 주체 (subject) 객체는 캡슐화된다 캡슐화 (encapsulation) : 객체의 구성 요소들을 캡슐로 싸서 보호하고 볼 수 없게 하는 것으로, 객체의 가장 본질적인 특징 ex) 캡슐에 든 약은 어떤 색인지 어떤 성분인지 알 수 없다 객체의 일부 요소는 공개된다 객체들이 서로 정보를 교환하고 통신하기 위해 일부 요소의 공개 노출이 필요하다 ex) TV의 on/off 버튼, 음량 조절 버튼 등은 사용자나 다른 기계와 통신하기 위해 노출되어 있음 C++ 객체는 멤버 함수와 멤버 변수로 구성된다 객체는 자신만의 고유한 상태(state)와 행동(behavior)으로 구성 ex) T..

    5. #include <iostream>에 숨은 진실

    5. #include <iostream>에 숨은 진실

    Reference : 명품 C++ 프로그래밍 / 황기태 / 생능출판사 #include 와 전처리기 C/C++ 컴파일러는 컴파일 전에 우선 전처리기 (preprocessor)를 실행시켜 #include문을 모두 처리한다 헤더 파일의 확장 전처리기가 #include 문에 지정된 의 텍스트를 #include 문이 있던 그 자리에 삽입하는 것 내에 또 다른 include 하는 문이 내포되어 있으면, 다시 그 자리에 '헤더 파일의 확장'이 일어나고, 모든 '헤더 파일의 확장'이 완료되면 전처리기는 종료 파일은 파일을 include 파일은 파일을 include 파일은 파일을 include 하므로 include 한 모든 헤더 파일이 모두 SimpleC++.cpp 소스 파일 내에 확장되어 들어오게 된다. 헤더 파일은 ..

    4. 키보드로 문자열 입력

    4. 키보드로 문자열 입력

    C++의 문자열 첫 번째 방법 : C-스트링 cin을 이용한 문자열 입력 cin과 >> 연산자로 문자열을 입력 받을 때의 허점 cin.getline()을 이용하여 공백이 포함된 문자열 입력 두 번째 방법 : string 클래스