读取字符串字符时出错

时间:2016-09-13 05:37:07

标签: string operator-overloading character

我在尝试将一个字符串与另一个字符串相等时出现问题,我收到此错误"读取字符串字符时出错。"在Visual Studio 2015中,我正在执行此行" student_name = otherStudent.student_name;"我只是没有得到它。 你能帮帮我吗?

Student& Student::operator=(const Student &otherStudent) {
    if (this != &otherStudent)     // Avoid self assignment
    {
        student_name=otherStudent.student_name;
        for (int i = 0; i < grades_size; i++) {
            grades[i] = otherStudent.grades[i];
            subjet_names[i] = otherStudent.subjet_names[i];
        }
        average_grade = otherStudent.average_grade;
    }
    return *this;
}

如果有帮助,这是该类的定义:

#include <iostream>
#include <string>

using namespace std;
#define grades_size 6

class Student {
private:
    string student_name; 
    float grades[grades_size];
    string subjet_names[grades_size];
    float average_grade;

public:
    //Constructor
    Student();
    Student(string name);

    //Print status of Student
    void printStudent();

    //Operator Overloads
    Student & operator=(const Student & otherStudent);

};

0 个答案:

没有答案