当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>C++的中抽象</b>[VC/C++编程]

赞助商链接



  本文“<b>C++的中抽象</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在C++中,以类、虚函数等为代表的数据抽象功效一向是C++的核心和难点.这里我想结合自己的利用经验,谈谈对C++中抽象的一点浮肤见解!

我认为C++的抽象应当是指:从我们需求办理的问题动身,在与该问题相关的一组关联对象中提取出主要的或共有的部份――说简单一点,就是用相同的行为来操作差别的对象.

从提出问题到找出与该问题相关的对象,这是一个互动的、反复的历程.在对相关对象的抽象中,随着熟习的深化,我们大概会改正最初的目标,而最初目标的改正又大概使一组新的相关对象被加入进来.如:假定目前要计划一个基于广域网的邮件服务器,首先大概需求通过socket对底层协议举行封装,为高层的pop3、smtp协议供应一组尺度的接口.开始为了使问题简化我们大概筹划只封装TCP/IP协议,不过基于以下两点我们有来由改正最初的需求:

1、pop3、smtp需求的底层接口很简单.除了衔接,仅需求发送、接纳一块数据的功效

2、用socket举行网络编程,大大都常见协议间的差别很小,有很多都仅仅只是初始化和衔接差别罢了我们只需求做很小的勤奋便可以兼容大大都常用协议(如:ATM、Ipx、红外线协议等).

目前决意改正需求,除了TCP/IP协议,还要支持一些其他的的常用协议.通过对最初目标的改正,除了TCP/IP协议对象,又会有一组相关的协议对象被加入进来.我们可以很简单从这组相关对象中提出共有的部份,将他抽象到另一个大众对象中.当然,按照具体利用环境差别,这大概并非最佳筹划.

C++中通例的抽象是在一组彼此间有“血缘”关系的类中展开的.如:

Class Parent
{
virtual ~Parent(){};
virtual void GetValue(){ .... };
virtual void Test(){ ... };
};
class child1 : public parent
{
virtual ~child1(){};
virtual void GetValue(){...};
virtual void Test(){ ... } const;
};
class child2 : public parent
{
virtual ~child2(){};
virtual void GetValue(){...};
virtual void Test(){ ... } ;
};

(趁便说一句,child1::Test() const 不是基类 parent::Test() 的重载.)

由上可总结出C++中抽象的一些基本特点:

1、被抽象对象必须直接或间接派生至某个类对象

2、假如你不用没有范例安全的操作,如:向下转型操作或强迫范例转化操作(像COM那样).那么派生类中需求抽象的行动必须在某个基类中呈现.

3、基类的析构函数必须是一个虚函数(嗯.... 有点无赖!)

................


  以上是“<b>C++的中抽象</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .