为什么我的.cpp文件无法解析我的.h文件中声明的变量?

时间:2018-05-19 23:48:43

标签: c++

我刚开始学习如何使用CLion编写C ++代码,但我遇到了使用类的一些问题。据我所知,函数和方法在.h文件中声明,然后它们可以在.cpp文件中使用。如果我这样做,那么我收到错误消息"无法解析变量studentName"。如果我在.cpp文件中声明变量但是那不会破坏.h文件的目的,那么消息就消失了?提前感谢能帮助我解决此问题的任何人。

Student.h

#ifndef PRACTICE_STUDENT_H
#define PRACTICE_STUDENT_H
#include <string>
class Student {

std:: string studentName;
int gradeLevel;

Student :: Student(std:: string studentName, int gradeLevel);
std:: string getName();

};
#endif //PRACTICE_STUDENT_H

Student.cpp

#include "Student.h"
#include <string>

Student:: Student(std:: string i_studentName, int i_gradeLevel){
    gradeLevel = i_gradeLevel;
}

std:: string getName() {
    return studentName;
}

的main.cpp

#include <iostream>
#include "Student.h"
using namespace std;

int main(){

    Student Carlton = Carlton.("Carlton", 16);
    cout << Carlton.getName();
    return 0;
}

1 个答案:

答案 0 :(得分:2)

getNameStudent类的成员函数。要在.cpp文件中实现它,您需要正确指出它属于该类:

std::string Student::getName() {
    return studentName;
}