zoukankan      html  css  js  c++  java
  • 第2章 掌握C++

    参考: https://blog.csdn.net/u014162133/article/details/46573873

    1、C++主要特点:

    封装性(Encapsulation):把数据与操作数据的函数组织在一起,使程序结构更加紧凑,提高类内部数据的安全性。

    继承性(Inheritance):增加了软件的可扩充性及代码重用性;

    多态性(Polymorphism):使设计人员在设计程序时可以对问题进行更好的抽象,有利于代码的维护和可重用

    2、C++中几个重要的知识点

    (1) 多态:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。

    (2) 如何区分覆盖和隐藏呢?

    函数的覆盖是发生在派生类与基类之间,两个函数必须完全相同,并且都是虚函数。那么不是这种情况的,就是隐藏。

    当隐藏发生时,如果在派生类的同名函数中想要调用基类的被隐藏函数,可以使用"基类名::函数名(参数)"的语法形式。

    (3) 抽象类:凡是含有纯虚函数的类叫做抽象类。

    (4) 定义结构体和类时,例如

    class Point
    {
        int x;
        int y;
    };

    在右侧花括号后面一定要加上分号,结构体成员默认是public的,而类成员默认是private的

    (5) 类的继承及类中成员的访问特性

    (6) 强制类型转换。如果CFish从CAnimal派生而来。CFish类的对象也是一个CAnimal对象,将CFish类型转换为CAnimal类型不用强制类型转换,C++编译器会自动进行这种转换。反过来,将CAnimal类型转换为CFish类型,则需要强制类型转换,否则编译会报错。

    (7) 在子类中调用父类的带参数的构造函数

     

    (8) #include <xxx.h>#include "xxx.h"的区别:

    搜索头文件路径的顺序不一样,而且<>不查找当前工作目录,""查找当前工作目录

    (9) 引用:引用经常用在函数的传参上。

    (10) 解决头文件重复包含问题

    方法一:#pragma once

    方法二:

    (11) VC++程序编译链接的原理与过程

  • 相关阅读:
    04-Bootstrap的插件
    03-Bootstrap学习
    02-移动端单位介绍
    01 响应式页面-@media介绍,
    14-jQuery补充
    13-jQuery的ajax
    12-事件委托(事件代理)
    11-jQuery的事件绑定和解绑
    10-事件对象
    09-JS的事件流的概念(重点)
  • 原文地址:https://www.cnblogs.com/happykoukou/p/8782082.html
Copyright © 2011-2022 走看看