도서 : 초보자를 위한 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

+ Recent posts