由于现在手头的学习是关于图像处理的,有些技能肯定迟早要用上,于是决定利用假期学习Visual C++的相关知识。

今天是第一天,主要学习使用visual c++进行面向对象编程的基本方法。并给出数字图像处理基本类,以作为后续数字图像模式识别实际案例的编程基础

1.面向对象

面向对象的程序设计的最根本目的是使程序员更好的理解和管理庞大而复杂的程序、为此,面向对象的程序设计围绕真是世界的概念来组织模型,它采用对象阿里描述问题实体空间。在程序设计领域,可以用对象=数据+作用与这些数据上的操作来表示面向对象的编程。

在面向对象的编程里,一个对象有三个基本的要素:状态、行为和标识;

a对象的状态包括它的属性和这些属性的当前值;

b对象的行为是指定义在对象类型的操作;

c标识是对象的名称,不同的语言通常对标识符有不同的规范,但差别很小

面向对象的核心概念就是通常所说的抽象、封装、继承和多态性。

(1)抽象:(2)封装;(3)继承;(4)多态性

2.类定义、对象定义

类是面向对象编程的一个实现方式,它集中体现了面向对象编程的特性

类定义主要包括说明和定义两部分:

class <类名>

    private:

    protected:

    public:

};

<各成员函数的实现>

对象定义:

<类名><对象名表>

对象名表可以是一个对象的名称,也可以是一个对象的指针,或者对象数组名,多个对象名列表

对象成员的表示方法:

<对象名>.<成员名>

或者是:

<对象指针名>-><成员名>

析构函数与构造函数是两个特殊的函数,一个负责对象的建立;一个负责对象的销毁。

2.MFC类

一个完整的windows应用程序应该包括用户界面、窗体、各种对话框、按钮、菜单等等,开发者可以利用api实现这一切,但api根据c的标准定义,用它编写程序C++的很多特性就不能用。mfc类是位于所有api之上的类。mfc类形成了建立应用程序的框架,利用这些类可以充分支持windows应用程序的开发。mfc具有以下特点:

mfc完整的封装了windows的api函数;具有良好的通用性和移植性;mfc wizard可以减少必要代码的书写;mfc包含了c++的所有良好特性。在visual c++中,应用程序是以工程的形式存在的,工程文件以.dsp为扩展名,扩展名为.dsw的为workspace文件,在workspace文件中可以存在多个project,由workspace文件对它们统一进行管理和协调。

在设计思想上,mfc将面向对象和事件驱动结合的非常好,下面简单介绍mfc中常用的几个类:

文档类:用于构建应用程序的框架,为用于定义的文档类提供大量操作,如open,read等

视图类:视图类有CVIew及其子类构成。CView类继承自CWnd。CViem类广泛用于基于文档的应用程序中。

框架窗口类:为开发者提供创建应用窗口的方法。可以建立单文档和多文档两种窗体。

对话框类:对话框类主要用于创建及操作各种各样的模态和非模态对话框;

控件类;绘图类及绘图对象类;文档服务类:该类提供了各种用于处理文件的类。

还有一些异常处理、特殊结构(list、array和map)数据库(ODBC、DAO)的一些专用类。

应用程序的框架:在程序提供的界面中,有许多可操作的可视对象,用户通过选取某个对象及相应操作,被选择的对象会产生某些事件,这些事件的结果是向程序中的某些对象发送消息,然后这些对象调用相应的消息处理机制来完成特定的操作。

windows应用程序的特点就是程序没有特定的流程,不同的事件触发不同的对象操作。

to be continued...

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐