前一段时间遇到接口与实现分离问题的时候才发现自己对这个问题一直处于迷糊状态。今天在网上找了篇博文学习了下。
原博文地址点击打开链接 http://blog.csdn.net/starlee/article/details/610825。
结合自己的理解,写了篇学习小结。
/*
*“接口与实现学习总结”
*/
/*
*首先写一个没有实现接口与实现分离的例子,然后分析它的缺点。
*在头文件中定义一个类,在cpp文件中给出具体实现。
*/
//student.h
class Student
{
public:
Student();
virtual ~Student();
void eat();
private:
void eatstep();
}
//student.cpp
#include "student.h"
Student::Student()
{
}
Student::~Student()
{
}
void Student::eat()
{
eatstep();
}
/*
*现在考虑,我们将student.h作为接口提供给用户会发生什么?
*Student的私有成员全部暴漏给用户了,这是我们所不希望的。
**************************************************************
*如果我们在Student类中还定义了其他类的变量,情况就会更糟糕。
*/
//person.h
class Person()
{
public: