C++ 기초 1
[C++] 2-3 클래스 변수 초기화 / 멤버 변수 초기화
hbcho
2023. 11. 27. 08:00
클래스 변수 초기화
클래스(class)의 멤버 함수를 호출할 때 매개변수를 사용하여 데이터 멤버들의 값을 초기화할 수 있다. 아래 예제로 자세한 내용을 참고할 수 있다.
#include <iostream>
using namespace std;
class score {
private:
char* name;
int kor;
int eng;
double ave;
public:
void sub(char* n, int k, int e);
void sum_ave();
void output();
};
void score::sub(char* n, int k, int e)
{
name = n;
kor = k;
eng = e;
}
void score::sum_ave()
{
ave = double(kor + eng) / 2.0;
}
void score::output()
{
cout << "name=" << name << endl;
cout << "kor=" << kor << endl;
cout << "eng=" << eng << endl;
cout << "ave=" << ave << endl;
}
int main()
{
score x;
x.sub((char *)"Hong", 90, 95);
x.sum_ave();
x.output();
return 0;
}
결과
name=Hong
kor=90
eng=95
ave=92.5
※ 클래스의 데이터 멤버가 private으로 지정되었으므로 main() 함수 내에서 도트 연산자를 이용하여 이들 데이터 멤버에 직접 값을 대입할 수 없다. 이들 데이터 멤버들은 오직 멤버 함수에서만 참조할 수 있다.
※ 멤버 함수 sub(), sum_ave(), output()는 public으로 지정되었으므로 main() 함수에서도 참조할 수 있다.
※ private인 데이터 멤버들을 초기화시키기 위해 x.sub() 멤버 함수의 매개 변수를 사용했다.
참고
1. 장인성 외 5인, (초보자도 쉽게 따라 할 수 있는) C++프로그래밍, 광문각, 2017.02.13