본문 바로가기
C++

[C++ 클래스] 클래스 사용법

by cod1ng 2023. 11. 7.

//클래스 (객체를 정의 할때 사용하는 키워드)ㄴ
/*
C 구조체   : 변수만 캡슐화 가능
C++ 구조체 : 변수와 함수 캡슐화 가능
             기본접근지정자 : public
C++ 클래스 : 변수와 함수 캡슐화 가능
             기본접근지정자 : private
*/

#include <iostream>
using namespace std;

class Person
{
private:
int age;  // 0-200
string gender; //남성,여성
public:
void set_age(int _age)
{
if (_age >= 0 && _age <= 200)
age = _age;
else
age = 0;
}

void set_gender(string _gender)
{
if (_gender == "남성 " || _gender == "여성")
gender = _gender;
else
gender = "";
}
public:
void Print()
{
cout << age << "," << gender << endl;
}
};
int main()
{
Person per;
per.set_age(-1);
per.set_gender("????");

per.Print();

per.set_age(21);
per.set_gender("남성");

per.Print();
return 0;
}

캡슐화를 하는 이유 사용자가 나이에 -1을 입력하거나 성별에 ?? , 없음 이런식으로 입력하는 것을 방지하기 위해 값을 설정하는 함수를 public으로 기능을 사용가능하게 한다음 if문으로 조건을 설정하고 public으로 맴버 변수의 값을 초기화하는 것을 막는다