私はプロジェクト用の学生データ管理コンソールアプリケーションを作成しています。私は学生が必要とするすべてのデータを格納しているStudentというクラスを作成しました。また、getterとsetterもすべて関連付けられています。ここに私のすべてのファイルがレイアウトされている方法です。クラスタイプの再定義といくつかのエラーの取得
Student.h
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
string name;
string id;
string email;
int presentation;
int essay1;
int essay2;
int project;
public:
//constructor
//Student();
//setters
void set_name(string);
void set_id(string);
void set_email(string);
void set_presentation(int);
void set_essay1(int);
void set_essay2(int);
void set_project(int);
//getters
string get_name();
string get_id();
string get_email();
int get_presentation();
int get_essay1();
int get_essay2();
int get_project();
};
Student.cpp
#include <iostream>
#include <string>
#include "Student.h"
using namespace std;
//constructor definition
/*
Student::Student(void) {
cout << "Student created" << endl;
}
*/
//setter definition
void Student::set_name(string s) {
name = s;
}
void Student::set_id(string s) {
id = s;
}
void Student::set_email(string s) {
email = s;
}
void Student::set_presentation(int a) {
presentation = a;
}
void Student::set_essay1(int a) {
essay1 = a;
}
void Student::set_essay2(int a) {
essay2 = a;
}
void Student::set_project(int a) {
project = a;
}
//getter definition
string Student::get_name() {
return name;
}
string Student::get_id() {
return id;
}
string Student::get_email() {
return email;
}
int Student::get_presentation() {
return presentation;
}
int Student::get_essay1() {
return essay1;
}
int Student::get_essay2() {
return essay2;
}
int Student::get_project() {
return project;
}
MAIN.CPPを
#include <iostream>
#include <string>
#include "Student.h"
using namespace std;
int main() {
cout << "Hello World!" << endl;
Student student1;
Student student2;
Student student3;
student1.set_name("John");
student2.set_name("Bob");
student3.set_name("Carl");
return 0;
}
私は私を実行しようとする
プログラムでは、次のようなエラーが発生します。エラー1つのエラーC2011: '学生': 'クラス' タイプの再定義
エラー2エラーC2079: 'STUDENT1は' 未定義のクラスを使用する「スチューデント
エラー5エラーC2228:.set_name「の左側「
クラス/構造体/共用
を持っている必要がありますエラー9エラーC2027:未定義のタイプを使用する「スチューデント
どのように私はこの問題を修正については行くことができますか?
「他のものの中に」はおそらく真の問題がある場所です。ヘッダガードを省略してゲッターやセッターを書く以外に、明らかに間違ったものは何も表示されません。 –
まずは実行時ではなくコンパイラエラーです。それ以外の場合は、MS v140コンパイラでエラーなく貼り付けてコンパイルしました。どのコンパイラを使用していますか?そうですね、表示されていないコードでstudent.hを2回インクルードしているようです。 – lakeweb
[MCVE]を生成します。 –