zoukankan      html  css  js  c++  java
  • 博览网C++学习第一周

           概述:

           C++语言非常的复杂,有很多种编程范式:面向对象范式,泛型编程范式,元编程范式等。之所以复杂是因为C++语言所描述的真是世界是复杂的。C++语言经历了一系列的发展,总的原则是要让编程方便而效率又不会损失太多。

           本系列课程主要学习面向对象编程,也就是使用C++语言中的面向对象范式。

           本周主要学习C++中最简单的类的实现:不带指针的类的实现。这个其实和面向对象没什么关系,主要还是强调封装,把数据和操作数据的函数放在一起,这个称为“基于对象”的设计,而且还是“基于对象”设计中最简单的带指针的类的实现。

           其实,带不带指针不是本质,本质是类的所有成员都具有合适的内存管理行为(因为都是值类型,class默认为值类型生成合适的内存管理代码)。

           细节:

    1. 头文件由C到C++的变化如 #include <stdio.h>  ---> #include <cstdio>

    2. 头文件中的防卫式声明---同C语言

    3. inline函数可实现在类的定义中(无需指定inline),或在.h文件中实现在类外(必须指定inline).inline只是一种请求,复杂的函数的这种请求基本不可能成功。

    4. class的访问权限:private,protected,public

    5. 函数的参数能用引用就必须用引用,能加const就必须加const

    6. 友元函数和友元类可以直接访问其朋友类的private域

    7. this指针即指向调用函数对象的指针,其实和C无本质区别,如C++中Obj.some_func(param)被编译器修改为C中对应的的 some_func( &pObj, param );其中&pObj就是this指针的实参

    8. 三类非常重要的函数:

        a) 构造函数(对象如何产生)

        b) 析构函数(对象如何消亡)

        c) 复制控制类函数( 拷贝构造函数和operator=() )描述对象如何被复制

        本周的类不涉及资源管理,并是值类型,所以只需要实现构造函数,其余两类函数,C++语言默认生成的就足够好了。

    9. 运算符重载

        这个要谨慎使用,有无数的坑等着你,最好能不使用,而直接使用普通的函数。不过,对于一些类,人们常常用运算符来操作它们,也可以使用一下运算符重载,小心,小心一定要小心!

  • 相关阅读:
    nginx 负载均衡
    nginX 安装 启动
    nginx 简介
    使用ASDM 管理 ciscoASA设备
    OSPF配置实验(一)
    VRRP
    HSRP 详解
    Rip 动态路由协议
    配置ASA防火墙 远程管理方式
    Oracle 重启监听
  • 原文地址:https://www.cnblogs.com/y990441/p/7641296.html
Copyright © 2011-2022 走看看