米老师常说的一句话:构造知识网。

立即要考试了。就让我们构造一下属于C++的知识网。首先从总体上了解C++:

从图中能够了解到,主要有五部分。而当我们和之前的知识联系的话,也就剩下模板和运算符重载以及基础中的某些特性。这话怎么说呢??函数在VB中学过一些。多少有些底子和灵感,数组和指针在《数据结构导论》中学习过,所以这部分也不是难点。

那么这样来看的话。C++也就没有想象中的那么难了。复习也就不至于一抓瞎了。首先来看一个具体的图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvWVNDMTEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

就像图中显示的那样我们还是要注意下面几点:

1.<标识符>

下划线或字母开头;

不能与随意一个keyword同名。

区分大写和小写。

2.<函数>

1)原型:不涉及參数的默认值问题,仅仅是声明类型而已。

2)纯虚函数和虚函数:两者都使用virtualkeyword。但不同的是。虚函数的子类能够不重写而直接继承父类,也能够重写。而纯虚函数的子烈必须重写才干够使用。

还有一方面,   像这句代码显示的:virtual   void  Show()=0 的是纯虚函数,而定义名为Show的虚函数并不须要使用"=0”;

3)strcpy:拷贝构造函数,形參都为引用。同一时候为了不改变形參的值必须使用常成员函数的keywordConst。

使用该函数的三种情况:

·程序中须要建立一个对象,并用还有一个对象对它实例化

·函数的參数为类的对象

·函数的返回值是类的对象

注:当使用该函数赋值字符串时,对于double、int类型的直接使用“=”进行赋值就可以。

4)模板:符号<T>。不论是成员函数还是构造函数调用时都要使用标识符"<T>";

 5)const:它用来限定一个变量不同意被改变。并且限定符声明的对象仅仅能被读而不被改动;常对象在定义时必须进行初始化。并且不能被更新。

6)内联:inline

注: 宏函数有预处理器对宏进行替换,内联函数通过编译器实现。

7)友元:(friend)。不是当前类的成员函数。而是独立于当前类的外部函数。

当在函数主体中使用时,能够直接使用函数名和类型,如DateTime(d,t)。而且在外部声明  时也不用像成员函数一样在前面加上“类名::”

8)递归:像《数据结构导论》中讲的那样,一个函数在函数体中调用了自身。

3.<重载>

 1)运算符重载

在C++中不同意用户自定义新的运算符。仅仅能对已有的C++运算符进行重载;当中不能重载的运算符仅仅有5个(. 、.*、-> *、::、?:)

重载运算符的函数不能有默认的參数,重载的运算符必须和用户定义的自己定义类型的对象一起使用,不同意參数所有是C++的标准类型。

2)函数重载

函数重载必须參数类型不一样或者參数个数不一样,而不能依靠返回值类型来区分重载函数。

   PS:重写和重载的差别:

        *    重载必须咋同一个类中。方法名必须同样。而且參数列表不能同样。

*    重写是在不同的类中。发生重写的两个方法返回值、方法名和參数列表必须全然一致。子类方法的訪问级别不能低于父类对应方法的訪问级别。方法体不同。

混到如今的份上,VB、C#和vb.net都已经学过,才慢慢的发如今编程语言中的共鸣。这几种编程语言都有相通之处。仅仅是和人类一样,都有各自与众不同的一面。那么仅仅要搞清楚它们的不同也就够了。或许这就是我的知识网。

知识网之C++总结的更多相关文章

  1. day 26 面向对象知识网

    1. 成员 - 变量 - 静态字段,类变量 - 方法 - 类方法 - 静态方法 - 实例方法 - 属性2. 对象的嵌套3. 特殊方法 __init__ new call getitem... add ...

  2. 【C++知识汇总】运营商 &amp; 运算符重载

    [运算符]        在进行运算时,假设右括号的话我们知道先运算哪个,那假设没有括号了.算术运算符,关系运算符,逻辑运算符,位运算符.赋值运算符,++.--运算符等等,那么多的运算符.我们先算哪边 ...

  3. 长文丨papi、咪蒙、罗胖之后,内容创业的机会在哪儿

    一.内容的一年 app死了,内容永生! 2016年,创业圈画风突变,昨天还在激辩java和PHP谁更好的技术宅们.还在梦想着成为第二个乔布斯改变世界的产品狗们.还在忽悠着用O2O横扫传统行业的小老板们 ...

  4. Nodejs·进程

    之前对这部分的内容很感兴趣,没想到读起来有点晦涩,还是因为对服务器的知识不是很了解. 说道服务器一般人都会想到tomcat或者Jboss或者weblogic,现在流行起来的Node总让人不太放心,JS ...

  5. QQ群信息统计

    接口一: 1:QQ群信息统计 地址:http://localhost:8080/webServices/messageSort 注意:连接地址提交的是一个txt文件,返回是一个list的json字符串 ...

  6. 法律网站分类 ­zt

    法律网站分类 ­ ­一.北大类 ­ 中国法律信息网(北大法学院)www.Chinalawinfo.com ­ ­北大金融法研究中心  www.pkufli.net ­ ­宪政知识网(北大法学院)www ...

  7. 备战“软考”之软件project

    说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...

  8. 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照(颠覆性理论)

           在[.NET特供-第三季]系列博客中的第一篇<ASP.NET MVC系列:MVC与三层图形对照>发表之后,引起了领导的注意.同一时候,开发小组内部在交流MVC和三层之间关系的 ...

  9. .NET--接口设计

    我们学习.net视频的时候,老师讲的是"介面设计",有意思的是,这里的介面不是我们想象中的界面的意思,而是接口的意思. 由于视频是Micorsoft公司做的,所以整个视频看下来.仅 ...

随机推荐

  1. 用 Asterisk 搭建自己的免费 VoIP 服务器

    原文 http://www.yaoblog.info/?p=5021 1. 这里以 Debian 为例子,安装 Asterisk apt-get update apt-get install aste ...

  2. 文本框、文本编辑框、按钮——axure线框图部件库介绍

    1. 与文本面板组合设计表单 文本框主要是在设计页面表单的时候,用的最多,通过与文本面板的组合使用,下面我们通过文本面板和文本框设计了一个简单的注册表单 对于,文本框中的文字,只需要双击即可编辑文字 ...

  3. PHP学习之-1.1 PHP 可以做什么?

    PHP 可以做什么? 为什么要学习PHP,"我可以用javascript来实现程序的编写."但是javascript的能力是有限的,javascript通常运行在浏览器(客户端), ...

  4. MFC画二维动态图表[GDI]

    源博客:http://www.codeproject.com/Articles/9350/2D-Animated-Charts 源代码:http://download.csdn.net/detail/ ...

  5. inode结构体成员详解

    概述:inode译成中文就是索引节点,它用来存放档案及目录的基本信息,包含时间.档名.使用者及群组等.inode分为内存中的inode和文件系统中的inode,为了避免混淆,我们称前者为VFS ino ...

  6. Python中字符串的方法及注释

    先整理到这里:用的时候便于查询.相当于自己的资料库吧. capitalize()   把字符串的第一个字符改为大写 casefold()   把整个字符串的所有字符改为小写 center(width) ...

  7. Linux - 文件基本操作管理

    文件基本操作管理   复制文件和目录 格式: Cp 源文件(文件夹) 新目标文件名(文件夹) 相同目录下,指定文件名. 不同目录下,不需要指定文件名. 参数: –r:递归复制整个目录树. –v:再复制 ...

  8. iot 表 主键索引叶子块包含了表所有数据

    <pre name="code" class="html">iot表测试: 在create table语句后面使用organization inde ...

  9. Boost Thread学习笔记二

    除了thread,boost种:boost::mutexboost::try_mutexboost::timed_mutexboost::recursive_mutexboost::recursive ...

  10. uva 140

    思路:暴力+剪枝 uva140 wa了好多次……数组开小了……!!! #include <iostream> #include <cstdio> #include <cm ...