도서 : 초보자를 위한 C++ 프로그래밍(성안당)
지음 : 강성수 지음
- const는 이전에서 잠깐 배운것과 같이 변수, 함수, 객체를 const 키워드를 붙여서 상수로 선언할 수 있다.
- const 멤버 초기화
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 |
#include <iostream>
using namespace std;
#include <string>
#include <iomanip>
class PhoneBook {
private:
const int id;
char name[20];
string phoneNo;
public:
PhoneBook(int d, const char n[], string pno);
void show();
};
//const 변수는 : id(d)와 같이 멤버 초기화 목록을 사용해야 오류 없음
// : id(d)는 생성자 호출되기 이전에 완료, id를 생성자 호출될 때 인자로 전달되는 d로 초기화하라는 의미
PhoneBook::PhoneBook(int d, const char n[], string pno):id(d) {
strncpy(name, n,20);
phoneNo = pno;
}
void PhoneBook::show() {
cout << setw(3) << id;
cout << setw(15) << name;
cout << setw(15) << phoneNo << endl;
}
int main() {
PhoneBook p[] = { PhoneBook(1, "홍길동", "010-123-5678"),
PhoneBook(2, "이기자", "010-213-5657"),
PhoneBook(3, "한반도", "010-124-5678") };
for (int i = 0; i < 3; i++) {
p[i].show();
}
} |
cs |
- 결과
- 만약 strncpy에 대해 오류가 생긴다면 프로젝트 오른쪽 클릭 -> 속성 -> C++ -> 전처리기 -> 전처리기 정의 편집에 _CRT_SECURE_NO_WARNINGS를 추가하면 된다.
'C++ 개념' 카테고리의 다른 글
클래스(class) - 생성, 소멸 (0) | 2019.03.03 |
---|---|
new 연산자와 delete 연산자 (0) | 2019.03.02 |
템플릿 함수 (0) | 2019.03.02 |
inline 함수 (0) | 2019.03.01 |
공용체 (0) | 2019.03.01 |