C++中类的声明与其成员函数的定义分离--以提高类的复用性
来源:互联网 发布:管家婆软件的使用方法 编辑:程序博客网 时间:2024/05/16 11:07
=====================================开始==========================================
当一个类被多个程序使用时,一般将类的声明(包含成员函数的声明)放在指定的头文件中,用户编程时,只需将这个头文件包含进来,而不必在每个使用该类的程序中重复书写其声明。
为了实现信息隐蔽(即封装后,用户只能看到函数的声明,知道如何去使用它,而不知道函数具体是如何实现的),对类的成员函数的定义一般不放在头文件中而放在另一个源代码文件中。
下面我们以一个小例子来理解一下
//MarkBook.h /* 我们可以看到头文件中包含类的声明(包括成员变量及成员函数的声明),但没有成员函数的定义*/#include <string>using namespace std; //避免发生重命名的问题class MarkBook {private:string courseName;public:MarkBook(string name);void setCourseName(string name);string getCourseName();void showMessage(string courseName);};
/MarkBook.cpp/*该源文件包含头文件中所定义的成员函数的定义(具体实现过程),将函数声明与函数实现分离*/#include "stdafx.h"#include "MarkBook.h"#include <string>#include <iostream>using namespace std;MarkBook::MarkBook(string name) {setCourseName(name);}void MarkBook::setCourseName(string name) {courseName=name;}string MarkBook::getCourseName() {return courseName;}void MarkBook::showMessage(string courseName) {cout<<courseName<<"--记分册"<<endl;}
//main.cpp#include "stdafx.h"#include "MarkBook.h"#include <string>#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){MarkBook databaseMark("java");MarkBook softwareMark("C++");cout<<databaseMark.getCourseName()<<"\t"<<"--记分册"<<"\n"<<softwareMark.getCourseName()<<"\t"<<"--记分册"<<endl;return 0;}
看到这里,相信小伙伴们以后就不会为头文件、源文件里该放啥纠结了吧~~
0 0
- C++中类的声明与其成员函数的定义分离--以提高类的复用性
- 类声明和成员函数定义的分离示例
- 类声明和成员函数定义的分离
- 类声明和成员函数定义的分离
- 类的封装性和信息隐蔽—类声明和成员函数定义的分离
- C++语言基础 例程 类声明和成员函数定义的分离
- 类声明和成员函数定义分离
- C++ 12.1 类的定义、声明、成员函数、数据成员
- 类的封装性和信息隐蔽——类声明和成员函数定义的分离
- 模板类成员函数的定义和声明
- 头文件中类的成员函数的声明和定义
- <C++>9.类成员函数的定义
- c++中 类数据成员的定义、声明总结
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- C++模板类的成员函数定义与声明必须在一个头文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- c++ 类数据成员的定义、声明
- java20天
- oracle自动生成主键不连续
- 第一个错误的代码版本
- 多线程系列:并发编程模型
- @synthesize和@dynamic区别
- C++中类的声明与其成员函数的定义分离--以提高类的复用性
- Wamp mysql启动不了,phpAdmin显示#2002无法连接服务器
- 模板2
- TCP连接探测中的Keepalive 和心跳包
- 【机器学习详解】矩阵奇异值分解(SVD)及其应用
- iptables详细介绍
- 20160410servlet学习笔记session与cookie对比与分析
- 不知道什么原因 新手 流汗
- 链表