궁금한점이 있어 올려봅니다. [c++]
부루
C++ 공부중인데요. 궁금한점이 있어서 올려보니다.
커파일시 에러발생하네요. 왜 발생하는지 궁금합니다.
1. int id를 한번 입력받은후 값을 변경시키지 않고싶은데요. 아래와같이 작성했습니다.
아래와같이 하면되는 건가요?
혹시 맞다면, 생성자에서 입력받은 값을 _id로 지정했는데
이것을 id로 해서 받을순없을까요? :this-id(id)는 신텍스에러 발생하더군요.
class Account
{
const int id;
int balance;
char* name;
public:
Account(int _id, char* name, int balance) :id(_id){ //생성자
this-name=new char[strlen(name)+1];
strcpy(this-name, name);
this-balance=balance;
}
Account(const Account& acc) :id(acc.id){ //복사생성자
this-name=new char[strlen(acc.name)+1];
strcpy(this-name, acc.name);
this-balance=acc.balance;
}
2. 첨부된 파일을 보시면. 클래스밖에void PrintMenu(); void Inquire(); 함수가 있습니다.
이 두함수는 변수조작없이 보여주기만 하는 함수입니다.
그래서 상수화 시키고싶은데.
void PrintMenu() const; void Inquire() const;
처리했는데 오류가 발생합니다... 그저 화면에 출력할뿐인데... 왜 오류가 발생하는지
도저히 납득할수가 없어요...왜그런지 이유가 궁금합니다.
내용이 조금 길군요... 읽어주셔서 감사합니다.
-
캐릭터
xxx() const 이렇게 하면 이 메소드를 호출 하면 이것을 호출한 객체의 데이터(멤버변수)
들의 값이 변하지 않는다 라는 의미 입니다..
그런데 printMenu() 이건 전역함수로 만들어 놓으셨는데.. 재가 위에 설명한 의미가
과연 적용이 될까요 ???