C++ 프로그래밍 6주차 정리

2022. 11. 16. 03:21C++

1. 멤버함수 getter setter

getter는 멤버변수를 불러오고, setter는 멤버변수에 값을 대입하는 함수이다.

캡슐화(encapsulation)로 인해 감춰진 멤버 변수에 접근하기 위해 사용한다.

아래 소스는 멤버함수를 내부에서 정의한 방식이다.

멤버함수를 내부에서 정의 시 자동으로 inline 함수가 된다.

 

#include <iostream>

 

class Dog

{

private: //class의 기본 속성이므로 생략 가능

    int age;

public:

    int getAge()//age를 리턴하는 getter 멤버함수

    {

        return age;

    }

 

    void setAge(int ageNum)//age에 값을 대입하는 setter 멤버함수

    {

        age = ageNum;

    }

};

 

int main()

{

    Dog coco;

    coco.setAge(5);//setAge argument 5를 넣어 age에 대입   

    std::cout << coco.getAge();//age의 값을 리턴

}

 

2. 멤버함수를 클래스 외부에서 정의하기

보통 내부 정의보다는 이 방식으로 사용한다. 클래스 내부에서 선언 후에 외부에서 정의할 수 있다.

외부 정의 시 범위지정연산자(::)를 사용하여 소속 클래스를 명시해야 한다.

 

#include <iostream>

 

class Dog

{

private: //class의 기본 속성이므로 생략 가능

    int age;

public:

    int getAge();//멤버함수 선언

    void setAge(int num);

    void bark();

};

 

int Dog::getAge()//멤버함수 정의(멤버함수를 정의할 때는 소속 클래스를 명시해야 함)

{

    return age;

}

 

void Dog::setAge(int ageNum)

{

    age = ageNum;

}

 

void Dog::bark() {

    std::cout << "멍멍\n";

}

 

int main()

{

    Dog coco;

    coco.setAge(1);//setAge argument 5를 넣어 age에 대입

    coco.bark();

    std::cout << coco.getAge();//age의 값을 받음

}


출처 : https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA/playlists, C++ 프로그래밍 강의 - 한성현 교수님

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

C++ 프로그래밍 10주차 정리  (0) 2022.12.22
C++ 프로그래밍 7-9주차 정리  (0) 2022.11.21
C++ 프로그래밍 5주차 정리  (0) 2022.11.09
C++ 프로그래밍 4주차 정리  (0) 2022.10.11
C++ 프로그래밍 3주차 정리  (0) 2022.09.28