//Implementation.h //包含欲隐藏的私有实现的类生成类定义 class Implementation { public: Implementation(int v) :value(v) { //空函数体 } void setValue(int v) { value = v; } int getValue() { return value; } private: int value; };
//Interface.h //代理类Interface class Implementation;//声明 class Interface { public: Interface(int); ~Interface(); void setValue(int); int getValue() const; private: Implementation *iPtr; };
//Interface.cpp #include "Interface.h" #include "Implementation.h" Interface::Interface(int v) :iPtr(new Implementation(v)) { // empty body } Interface::~Interface() { delete iPtr; iPtr = 0; } void Interface::setValue(int v) { iPtr->setValue(v); } int Interface::getValue() const { return iPtr->getValue(); }
//main.cpp //#include "Implementation.h" #include "Interface.h"//只有这一个头文件包含在代码中,!!! #include <iostream> using namespace std; int main() { Interface testInt(6); cout << "Interface contains: " << testInt.getValue() << " before setValue." << endl; testInt.setValue(7); cout << "Interface contains:" << testInt.getValue() << " after setValue." << endl; system("pause >> cout"); return 0; }
相关推荐
7.10 代理类 7.11 有关对象的思考:在电梯模拟程序中使用复合和动态对象管理 小结 术语 自测练习 自测练习答案 练习 第8章 运算符重载 8.1 简介 8.2 运算符重载的基础 8.3 运算符重载的限制 8.4 用作类成员与...
7.10 代理类 7.11 有关对象的思考:在电梯模拟程序中使用复合和动态对象管理 小结 术语 自测练习 自测练习答案 练习 第8章 运算符重载 8.1 简介 8.2 运算符重载的基础 8.3 运算符重载的限制 8.4 用作类成员与...
C++大学教程(目录) 第1章 计算机与C++编程简介-------------------------------------------------1 1.1 简介--------------------------------------------------------------1 1.2 什么是计算机--------...
《C++ Qt设计模式(第二版)》是美国萨福克大学的一份经典教程,它深入浅出地讲解了如何在C++编程中运用Qt框架,并结合设计模式来构建高效、可维护的软件系统。这份教程的核心在于将面向对象的设计原则与实际的Qt库相...
9. **反射与动态代理**:反射允许程序在运行时获取类的信息并操作类的对象,动态代理则在运行时创建代理对象,实现代理模式。 10. **泛型**:泛型提供了类型安全的集合,避免了类型转换的麻烦,并提高了代码的...
### ns2网络模拟简易实用教程知识点详述 #### NS简介:面向对象的网络模拟器 NS,即Network Simulator,是一款由加州大学伯克利分校开发的面向对象、基于离散事件驱动的网络环境模拟器。它能够精确地模拟各种IP...
由美国华盛顿大学的Douglas C. Schmidt教授领导开发,遵循CORBA 2.6规范。TAO作为一个开源项目,为开发者提供了强大的工具和库来构建复杂的分布式应用程序。 #### 2. 编译ACE/TAO/CIAO - **目录结构**: 描述了TAO...
《使用ns2进行WSN仿真的基础教程》 在无线传感器网络(Wireless Sensor Networks, WSN)的研究和开发过程中,仿真工具起着至关重要的作用。ns-2是一款广泛使用的网络模拟器,它允许研究人员和工程师模拟网络行为,...
《VC++开发GIS教程》由徐州师范大学城市与环境学院GIS教研室编写,旨在教授读者如何使用VC++这一编程工具进行地理信息系统(GIS)的开发。本教程覆盖了从基础的程序设计概念到具体使用VC++语言实现GIS应用的多个方面...
张伟,华东交通大学。 摘要 这是MySQL参考手册 它涉及MySQL 5.1至5.1.2-alpha版本。 文档生成于: 2005-11-15 -------------------------------------------------------------------------------- 目录 ...
无论是刚开始接触面向对象编程的新手,还是打算转移到c#的具有c,c++或者java基础的程序员,都可以从本书中吸取到新的知识。 作译者 john sharp,content master首席技术专家。content master隶属于cm集团,cm集团...
2. **基于C++和OTcl的编程层次**:当NS2现有的网络元素无法满足需求时,可以通过扩展NS2的功能,即添加新的C++和OTcl类来实现自定义的网络元素。 #### 仿真的一般过程 1. **配置网络拓扑**:确定网络的拓扑结构、...