devdw
bloom_
devdw
전체 방문자
오늘
어제
  • 분류 전체보기 (20)
    • develop (15)
      • 개발기록 (0)
      • Java (5)
      • C++ (4)
      • Spring (0)
      • Database (3)
      • Algorithm (1)
      • etc (2)
    • diary (3)
      • 일기 (0)
      • 🍕🍔🍟 (1)
      • Review (2)
    • works (1)
      • reviews (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • xor
  • SourceCode
  • iteration
  • 신경망
  • PYTHON
  • 난수생성
  • 다이소
  • Codility
  • database
  • STAEDTLER NORIS DIGITAL S PAN
  • 알고리즘
  • GIST
  • 펜그립
  • 스테들러노리스디지털펜
  • array
  • java
  • class
  • 조심또조심
  • 코딩테스트
  • 길벗
  • lesson1
  • Share
  • 순간접착제
  • 스테들러
  • float
  • 변수
  • 신경망 교과서
  • AI
  • 머신러닝
  • github

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
devdw

bloom_

develop/C++

[씹어먹는 C++ - 4-1, 2] 객체지향 프로그래밍, 함수 오버로딩, 생성자

2021. 9. 1. 16:07

4-1

객체

변수들과 참고 자료들로 이루어진 소프트웨어 덩어리

추상화

객체가 현실 세계에 존재하는 것들을 나타나기 위해 필요한 과정

캡슐화

인스턴스 메소드를 통해 인스턴스 변수들을 간접적으로 조절하는 것

예시

class Animal {
    private: // 외부에서 접근 불가능한 것들 (생략 가능)
    int food;
    int weight;

    public: // 외부에서 사용가능한 것들
    void set_animal(int _food, int _weight){
        food = _food;
        weight = _weight;
    }
    void increase_food(int inc){
        food += inc;
        weight += (inc / 3);
    }
    void view_stat(){
        std::cout << "이 동물의 food : " << food << std::endl;
        std::cout << "이 동물의 weight : " << weight << std::endl;
    }
}; // 세미콜론!

4-1문제 풀이

4-2

함수 오버로딩

함수의 이름이 같더라도 인자가 다르면 다른 함수라고 판단

생성자

  • 객체 생성 시 자동으로 호출되는 함수
  • 객체 안 변수들을 초기화시켜줌
  • 객체 초기화 역할이기 때문에 반환 값이 없음

디폴트 생성자

클래스 내에 개발자가 어떠한 생성자도 명시적으로 정의하지 않았을 경우 컴파일러가 자동으로 추가해주는 생성자

class Test {
    int a;
    public:
    Test(){ // 디폴트 생성자
        a = 1;
    }
    Test(int a_){
        a = a_;
    }
}

int main()
{
    Test t1();
    Test t2 = Test();
    Test t3(3); // 암시적 방법 (implicit)
    Test t4 = Test(4); // 명시적 방법 (explicit)
}
C++ 11부터 명시적으로 디폴트 생성자를 사용하도록 명시할 수 있음
class Test1 {
    public:
    Test1() = default; // 디폴트 생성자 정의해라
}

4-2 문제 풀이

TODO 해보기

'develop > C++' 카테고리의 다른 글

[씹어먹는 C++ - 4-3, 4] 복사 생성자, 소멸자, const, static  (0) 2021.09.14
[씹어먹는 C++ - 3] 메모리 할당/해제  (0) 2021.09.01
[씹어먹는 C++ - 2] 참조자  (0) 2021.09.01
    'develop/C++' 카테고리의 다른 글
    • [씹어먹는 C++ - 4-3, 4] 복사 생성자, 소멸자, const, static
    • [씹어먹는 C++ - 3] 메모리 할당/해제
    • [씹어먹는 C++ - 2] 참조자
    devdw
    devdw
    끄적끄적

    티스토리툴바