C++ 헤더파일 질문이요!
조회수 4214회
Player.h
#ifndef _PLAYER_H_
#define _PLAYER_H_
class Player {
private:
char * id;
char * job;
int level;
int hp;
public:
void setId(char * id);
void setJob(char * job);
void setLevel(int level);
void setHp(int hp);
};
#endif
Player.cpp
#include <iostream>
#include "Player.h"
using namespace std;
//default 생성자
void Player() {
cout << "객체를 생성합니다.";
}
//초기 값 생성자(매개변수)
void Player(char * id, char * job, int level, int hp) {
setHp(10); // 여기서 오류 출력! (식별자 "setHp" 이(가) 정의되어 있지 않습니다.)
}
//Setter
void Player::setId(char * id) {
this->id = new char[strlen(id) + 1];
strcpy_s(this->id, strlen(id) + 1, id);
}
void Player::setJob(char * job) {
this->job = new char[strlen(job) + 1];
strcpy_s(this->job, strlen(job) + 1, job);
}
void Player::setLevel(int level) {
this->level = level;
}
void Player::setHp(int hp) {
this->hp = hp;
}
생성자에서 밑에 정의한 함수를 호출하려고 하는데 찾지를 못하네요ㅠㅠ 자바를 하다와서 그런지 햇갈린게 이만저만이 아닙니다! 도와주세요!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
멤버 함수를 클래스의 바깥에서 정의하면
클래스명::메소드명(...) { }
과 같이 써야합니다.
생성자의 경우에는
Player::Player(){ // 머라머라
이렇게 써주세요~
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력