接口与实现的分离
将定义类的头文件(.h)和定义类成员函数的源代码文件(.cpp)分离,向客户程序员仅提供类的头文件以及类实现的机器指令即可,因为源代码文件并未提供,客户程序员不知道累的具体实现过程。也就是说只提供累的接口并不提供类的实现过程。
.h文件
#include <string>
using std::string;
class gradebook
{
public:
gradebook(string);
void setCourseName(string);
string getCourseName();
void displayMessage();
private:
string courseName;
};
,cpp文件
#include "iostream"
using std::cout;
using std::cin;
using std:: endl;
#include <string>
using std::string;
using std::getline;
#include "gradebook.h"
gradebook:: gradebook(string name)
{
setCourseName(name);
}
void gradebook::setCourseName(string name)
{
courseName=name;
}
string gradebook::getCourseName()
{
return courseName;
}
void gradebook::displayMessage()
{
cout<<"welcome to the grade book for\n"<<getCourseName()<<"!"<<endl;
}
类的实现main函数
#include "iostream"
using std::cout;
using std::cin;
#include "gradebook.h"
int main()
{
gradebook gradebook1("abc");
gradebook gradebook2("adef");
cout<<"course:"<<gradebook1.getCourseName()<<"course:"<<gradebook2.getCourseName()<<endl;
system("pause");
return 0;
}