还拿上一遍中定义的GradeBook类来实现:
#include <iostream>using std::cout;
using std::endl;#include <string> // program uses C++ standard string class.
using std::string;#include <conio.h>
// GradeBook class definition
class GradeBook
{
public:
// constructor initializes courseName with string supplited as argument.
GradeBook(string name)
{
this->courseName=name;
} // end GradeBook constructor// function to set the course name
void setCourseName(string name)
{
this->courseName=name;// store the course name in the object.
}// end function setCourseName// function to get the course name.
string getCourseName()
{
return courseName;// return object‘s courseName
}// end function getCourseName// display a welcome message to the GradeBook user
void displayMessage()
{
// call getCourseName to get the courseName
cout<<"Welcome to the grade book for \n"<<getCourseName()<<"|"<<endl;
}// end function displayMessage
private :
string courseName;
};// end class GradeBook// function main begins program execution
int main()
{
// create two GradeBook objects.
GradeBook gradeBook1("CS101 Introduction to C++ programing");;
GradeBook gradeBook2("CS102 Data Structures in C++");// display initial value of courseName for each GradeBook
cout<<"gradeBook1 created for course:"<<endl;
gradeBook1.displayMessage();
cout<<"gradeBook2 created for course:"<<endl;
gradeBook2.displayMessage();cout<<"Test the get function"<<endl;
cout<<"gradeBook1 call getCourseName"<<gradeBook1.getCourseName()<<endl;
cout<<"gradeBook2 call getCourseName"<<gradeBook2.getCourseName()<<endl;
std::cin.get();return 0; // indicates successful termination.
}// end main
代码拆分结构:
定义出接口(头文件/GradeBook.h):
#include<string>
using std::string;// GradeBook class definition
class GradeBook
{
public:
// constructor initializes courseName with string supplited as argument.
GradeBook(string name);
// function to set the course name
void setCourseName(string name);
// function to get the course name.
string getCourseName();
// display a welcome message to the GradeBook user
void displayMessage();
private :
string courseName;
};// end class GradeBook
定义出实现类(源文件/GradeBook.cpp):
#include <iostream>
using std::cout;
using std::endl;#include "GradeBook.h" // include definition of class GradeBook
// constructor initializes courseName with string supplited as argument.
GradeBook::GradeBook(string name)
{
this->courseName=name;
} // end GradeBook constructor// function to set the course name
void GradeBook::setCourseName(string name)
{
this->courseName=name;// store the course name in the object.
}// end function setCourseName// function to get the course name.
string GradeBook::getCourseName()
{
return this->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
在“源文件“下定义Main.cpp写main测试函数:
#include <iostream>
using std::cout;
using std::endl;#include <conio.h>
#include "GradeBook.h" // include definition of class GradeBook
// function main begins program execution
int main()
{
// create two GradeBook objects.
GradeBook gradeBook1("CS101 Introduction to C++ programing");;
GradeBook gradeBook2("CS102 Data Structures in C++");// display initial value of courseName for each GradeBook
cout<<"gradeBook1 created for course:"<<endl;
gradeBook1.displayMessage();
cout<<"gradeBook2 created for course:"<<endl;
gradeBook2.displayMessage();cout<<"Test the get function"<<endl;
cout<<"gradeBook1 call getCourseName:"<<gradeBook1.getCourseName()<<endl;
cout<<"gradeBook2 call getCourseName:"<<gradeBook2.getCourseName()<<endl;
std::cin.get();return 0; // indicates successful termination.
}// end main
输出结果: