MFC面向对象编程基本方式
来源:互联网 发布:网络之混元法师txt下载 编辑:程序博客网 时间:2024/06/01 09:38
不多说 直接上代码
#pragma onceclass Shape{public:Shape(void){}virtual ~Shape(void){}virtual void Draw(CDC *pDC) = 0;void SetRect(int left, int top, int right, int bottom){m_rc.SetRect(left, top, right, bottom);}void offest(int x, int y){m_rc.OffsetRect(x, y);}protected:CRect m_rc;};class CCircle :public Shape{public:CCircle(void){}~CCircle(void){}virtual void Draw(CDC *pDC){pDC->Ellipse(m_rc);}};class CSquare :public Shape{public:CSquare(void){}~CSquare(void){}virtual void Draw(CDC *pDC){pDC->Rectangle(m_rc);}};class CRoundSquare :public Shape{public:CRoundSquare(void){}~CRoundSquare(void){}virtual void Draw(CDC *pDC){POINT pt = { 10, 10 };pDC->RoundRect(m_rc, pt);}};
画什么
怎么画
画在哪里
在这个例子里面 用到了
protected:CArray<Shape*, Shape*> m_Shape;用指针的好处就是 可以进行如下的操作
m_Shape.Add(new CCircle());m_Shape.Add(new CSquare());m_Shape.Add(new CRoundSquare());上面这种方式可以借鉴 用到我们会有很多继承自同一个类的不同类的对象
在一个类没有被实例化之前 一切的操作都是抽象的 都是对自己(数据)可能的操作 有一些可能的方法 比如说能够画一个矩形 移动它 等等 就等于是这个类能够做的事 他可以借用任何想用的类来实现自己的目的 类的数据其实是细节
当获得一个对象时,可以对它进行操作,就是在一个最原始的类对象的基础上发展,调用成员函数,使这个对象丰满,这其中会获得很多本地的参数,作为类函数的实参
这就好像动物一样,分很多科目,还有遗传特性,具体到每一个动物时,我们就会详细去了解它的特性
世界是复杂的 当我们为了达到我们的目的动用我们所有的资源时,我们的目的实现了,我们以为就是一切了
其实,我们这个类很可能就是其他类达到目的途径上的一个卒子
各个类之间的相互引用 构成了一个完整的程序
世界上所有人的互动 构成了这个社会
在程序中 应该存在最上面的那个类和实例 如MFC中APP类
后面接着就是程序管理系统 电脑 然后就是人类
但是人类肯定不是最终的目的 或者说存在某一个比人类更高的类别
他们才不关心我们人类 也就是我们人类只不过是它眼中的一个小卒子
哈哈 想太多…………
- MFC面向对象编程基本方式
- matlab面向对象编程基本
- javascript面向对象编程方式
- MFC中的面向对象编程(1)
- PHP面向对象编程 面向对象的基本实践
- 面向对象编程的基本特性
- 面向对象编程OOP基本知识点
- 面向对象编程的基本概述
- 面向对象的js编程方式
- JavaScript面向对象编程(继承实现方式)
- js面向对象基本理解和三种创建方式
- 面向对象和MFC
- 面向对象不是计算机编程的基本原子
- Java面向对象编程 (Java 类的基本构成)
- 面向对象编程(OPP)基本术语 -----C++ primer笔记
- 【JavaScript面向对象编程】20121224(基本数据类型)
- javascript面向对象编程笔记第一章<基本类型>
- Python3 OOP面向对象编程最基本的类
- fibonacci数列(递归法)
- 绘制Android软件的UML时序图
- C++虚函数表解析(转)
- 自定义Application使用示例——几个Activity共同操作某个变量
- Linux下添加用户
- MFC面向对象编程基本方式
- Android采用ListView实现数据列表显示
- 集合框架中常用类比较
- SWT Monitor
- 关于java下的明确编码方式的文件读写操作总结
- hadoop MapReudce入门程序
- js工具-js常用方法,js常用判断方法 js字符串常用判断方法
- about DEXPREOPT_BOOT_JARS related
- android4.0移植gstreamer多媒体框架