自学c++,用的是vs2012,出错求帮助修改
Gradebook.h:(这是定义)#include"stdafx.h"#include<string>//classGradeBookusesC++standardst...
Gradebook.h: (这是定义)
#include "stdafx.h"
#include <string> // class GradeBook uses C++ standard string class
using namespace std;
// GradeBook class definition
class GradeBook
{
public:
GradeBook( string ); // constructor that initializes courseName
void setCourseName( string ); // function that sets the course name
string getCourseName(); // function that gets the course name
void displayMessage();
private:
string courseName; // course name for this GradeBook
; // end class GradeBook
以下为cpp:
#include "stdafx.h"
#include <iostream>
#include "GradeBook.h"
using namespace std;
GradeBook::GradeBook( string name )
{
setCourseName( name ); // call set function to initialize courseName
} // end GradeBook constructor
// function to set the course name
void GradeBook::setCourseName( string name )
{
courseName = name; // store the course name in the object
} // end function setCourseName
// function to get the course name
string GradeBook::getCourseName()
{
return courseName; // return object's courseName
} // end function getCourseName
// display a welcome message to the GradeBook user
void GradeBook::displayMessage()
{
// call getCourseName to get the courseName
cout << "Welcome to the grade book for\n" << getCourseName()<< "!" << endl;
} // end function displayMessage
有个什么已经定义或声明成员函数的错误,语法也可能出了些差错,求教如何解决 展开
#include "stdafx.h"
#include <string> // class GradeBook uses C++ standard string class
using namespace std;
// GradeBook class definition
class GradeBook
{
public:
GradeBook( string ); // constructor that initializes courseName
void setCourseName( string ); // function that sets the course name
string getCourseName(); // function that gets the course name
void displayMessage();
private:
string courseName; // course name for this GradeBook
; // end class GradeBook
以下为cpp:
#include "stdafx.h"
#include <iostream>
#include "GradeBook.h"
using namespace std;
GradeBook::GradeBook( string name )
{
setCourseName( name ); // call set function to initialize courseName
} // end GradeBook constructor
// function to set the course name
void GradeBook::setCourseName( string name )
{
courseName = name; // store the course name in the object
} // end function setCourseName
// function to get the course name
string GradeBook::getCourseName()
{
return courseName; // return object's courseName
} // end function getCourseName
// display a welcome message to the GradeBook user
void GradeBook::displayMessage()
{
// call getCourseName to get the courseName
cout << "Welcome to the grade book for\n" << getCourseName()<< "!" << endl;
} // end function displayMessage
有个什么已经定义或声明成员函数的错误,语法也可能出了些差错,求教如何解决 展开
2个回答
展开全部
就单这里好像没那个问题,我想可能是你的.h文件没有加宏开关在include的时候可能会出现这样的问题,建议你在,h里这么写
#ifndef __GRADEBOOK_H__
#define __GRADEBOOK_H__
你的头文件内容
#endif
还有,在头文件里面最好不要用using namespace,因为打个比方,你在头文件里用了using namespace std里面的String,如果某个cpp里include了,且它又using namespace other了,恰好里面也有String,也就是说可能出现不同命名空间的String,然后本来人家要用自定义的,结果你在头文件里使用了std命名空间,然后悲剧了,具体去看参考书吧,c++ primer里面有
#ifndef __GRADEBOOK_H__
#define __GRADEBOOK_H__
你的头文件内容
#endif
还有,在头文件里面最好不要用using namespace,因为打个比方,你在头文件里用了using namespace std里面的String,如果某个cpp里include了,且它又using namespace other了,恰好里面也有String,也就是说可能出现不同命名空间的String,然后本来人家要用自定义的,结果你在头文件里使用了std命名空间,然后悲剧了,具体去看参考书吧,c++ primer里面有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询