知识网之C++总结

知识网之C++总结

大家好,又见面了,我是全栈君。

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

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

             知识网之C++总结

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

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

     知识网之C++总结

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

 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++总结

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116436.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 局域网内实现不同网段ip通信_局域网不同网段互访

    局域网内实现不同网段ip通信_局域网不同网段互访1.使用场景电脑使用网段ip为172.23.0.0/16,设备ip为192.168.1.0/24。将电脑和设备通过交换机连接起来,满足了电脑和设备处于同一局域网不同网段,不能进行网络通信。为了能够进行通信,比如,进行设备的密码重置等,都需要能够通信才能完成。2.参考方案可以在电脑的网络设置里的高级配置中,添加一个和设备处于同一网段的ip。需要注意的是,添加的ip之前要先使用ping命令判断局域网中是否存在相同ip的设备,为了避免ip冲突。有时你会发现ping不通的ip,添加之后也有不通的情况。这

    2022年9月12日
    0
  • Tomcat遇到”Error listenerStart”或”Error filterStart”问题且无详细日志时的log配置….

    Tomcat遇到”Error listenerStart”或”Error filterStart”问题且无详细日志时的log配置….昨天部署web应用到Tomcat之后,无法成功启动,并且控制台没有详细的错误信息,顶多就两行提示信息,例如:严重:ErrorlistenerStart严重:Context[/lizongbo]startupfailedduetopreviouserrors或者严重:ErrorfilterStartorg.apache.catalina.core.StandardCo…

    2022年7月27日
    3
  • 全新E:网站不是之前排名浮动 相比于竞争对手究竟缺少了什么?

    全新E:网站不是之前排名浮动 相比于竞争对手究竟缺少了什么?

    2022年1月2日
    51
  • html获取表单提交数据_提交表单的两种方法

    html获取表单提交数据_提交表单的两种方法转载于:https://blog.csdn.net/yongwoozzang/article/details/83029128HttpURLConnectionx-www-form-urlencodedpublicstaticStringPost(StringhttpUrl,Stringdata){ PrintWriterout=null; InputStr…

    2022年10月6日
    0
  • java高并发下数据入库

    java高并发下数据入库java高并发下数据批量入库该服务利用线程池并结合缓存类来处理高并发下数据入库问题,做到实时数据存入redis和数据批量入库,使用的时候需要修改为自己的业务数据,该服务暂时适合下面两种情况:1、达到设置的超时时间。2、达到最大批次。packageio.renren.service.impl;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importlombok.extern.slf4j.Slf

    2022年5月19日
    32
  • adminLte解决iframe高度问题

    adminLte解决iframe高度问题adminLte默认是全局刷新,也就是不存在frame页面,经过修改,可以很容易实现右边内容框用frame实现页面刷新,这样就不需要整个页面全局刷新,点击相应菜单时,只会刷新frame窗口,但是有一个问题就是frame默认高度只有一丁点,百度之后用了自适应也会有各种问题,比如高度只能拉伸不会缩短,在解决的道路上真的是没有一个完美的解决方案,经过自己研究,发现一个非常简单的方法,那就是用js获取wi…

    2022年7月27日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号