클래스에서 과제를 수행하고 있지만 get() 함수를 사용하는 데 어려움이 있습니다. 이것은 그가 우리에게 주었던 과제의 일부입니다 : 학생의 데이터에 저장된 값을 저장하거나 값을 반환하도록 설계된 getVariable() 및 setVariable()이 있습니다. 특히 이러한 함수는 다음과 같이 프로토 타입을 작성해야합니다. int getStudentID(), void setStudentID (int iID) - 학생의 ID를 가져오고 설정합니다.포인터와 루프를 사용하는 C++ 프로그램
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
Student(void);
int m_iStudentID;
char m_sMagicalName[32];
char m_sWizardFamilyName[32];
char m_sHouse[32];
char* m_sClasses[8];
int m_iGrades[8];
int NUM_CLASSES;
public:
Student();
~Student();
Student(int iID, char *mName, char *wName, char *hName)
{
char mName[32] = "Harry";
char wName[32] = "Potter";
iID = m_iStudentID;
strcpy(m_sMagicalName, mName);
strcpy(m_sWizardFamilyName, wName);
strcpy(m_sMagicalName, "Harry");
strcpy(m_sWizardFamilyName, "Potter");
hName = m_sHouse;
}
int getStudentID()
{
char iID;
//Get the data for the student id
getline(cin, iID);
return iID;
}
~Student(void);
}
죄송합니다. getline을 사용하여 시도했지만 얻을 수 있지만 둘 다 작동하지 않습니다. 그것이 오버로드 된 함수라고 말하는 것입니다. 어떻게 작동 시키나요?
편집 : 알았습니다. 이제 어떻게이 부분을 만들 수 있습니까?
- * 무효 getClass (INT의 IDX, 숯불 * 클래스 이름), 무효 setClass (INT의 IDX, 문자 클래스 명) - 가져 오기 및 클래스 이름을 설정합니다. 클래스의 클래스 명 배열의 인덱스에 지정된 정수 인수 idx
나는 getClass 부분이 시도했다 :
void getClass(int idx, char *className)
{
className[0] = "Introduction to Charms";
}
나는 그 잘못 알고 난 내 머리를 리핑 같은 느낌. 다른 곳에서 선언하고 getClass 함수를 사용하여이를 가져와야합니까? 수업은 Introduction to Charms, Introduction to Potions, Introduction to Transfiguration입니다. setClass를 아무런 문제없이 처리 할 수있었습니다.
이 세 가지 문제는 전혀 이해할 수 없으며 프로그램을 위반하지 않고 접근하는 방법을 알지 못합니다. 2. void setGrade (int idx, int grade) - 등급을 설정합니다. 이 함수는 주어진 인덱스의 배열 m_iGrades에 숫자 등급을 설정해야한다.
무효 getGrade (INT의 IDX을 & iGrade, 문자 & cGrade를 INT) - 등급을 가져옵니다. 이 getGrade 함수는 참조 함수 여야하며 현재 호그와트 등급 시스템 (95-100 = 미완료 (O), 90-94 = 기대 초과 (E), 80-89 = 초과)에 기반한 문자 등급 인 cGrade 참조 인수를 사용하여 리턴해야합니다. 수용 가능 (A), 70-79 = 불량 (P), 60-69 = Dreadful (D), < 60 = 트롤 (T)). 또한 iGrade 참조 인수를 사용하여 숫자 등급을 반환합니다.
void getGrade (int idx, int * iGrade, char * cGrade) - 성적 가져 오기. 이 getGrade 함수는 포인터 함수 여야하며 현재 Hogwarts 등급 시스템 (95-100 = 미완료 (O), 90-94 = 기대치 초과 (E), 80-89 = 미정)를 기반으로 한 문자 등급의 cGrade 포인터 인수를 사용하여 리턴해야합니다. 수용 가능 (A), 70-79 = 불량 (P), 60-69 = Dreadful (D), < 60 = 트롤 (T)). 또한 iGrade 포인터 인수를 사용하여 숫자 등급을 반환합니다.
수정하여 [* 많은 * 컴파일 오류 (http://pastebin.com/Zfmg0W7q) 다른 어떤 전에. – WhozCraig
그리고 [MCVE]를 게시하십시오! _ "문제가 있음"_은 귀하가 보는 행동에 대한 좋은 설명으로 간주되지 않습니다. –
생성자에서 매개 변수에 값을 할당합니다. 정말로이 일을하고 싶니? 예를 들어, 당신은 생성자에게'iId'의 복사본을 넘겨 주며, 내용은'm_iStudentID'를 매개 변수의 복사본에 할당합니다. –