美文网首页
C++面向对象高级编程(上) Week 1 (Boolan) b

C++面向对象高级编程(上) Week 1 (Boolan) b

作者: Im4lish | 来源:发表于2017-07-20 21:13 被阅读0次

    1-C++编程简介
    Object Based——以良好的方式编写-Class
    Object Oriented——Class之间的关系-继承、符合、委托
    参考书目:
    C++ Primer Fifth Edition
    The C++ Programming Language
    Effective C++
    The C++ Standard Library
    STL 源码剖析
    2-头文件与类的声明

    C与C++的区别
    Header的布局
    防御性声明:

    #ifndef __HEAD_H_            //防止多次包含同样的头文件
    #define __HEAD_H_
    #endif                      //回应前方的 #ifndef
    

    前置声明
    类声明class xxx {};
    类定义xxx::function
    模板 template<typename T>

    3-构造函数
    1、inline:编译时直接展开,效率较高
    !!!inline非强制,编译器会自己判断
    内联:
    函数在类内定义时,自动转成内联的候选人。
    inline只是向编译器发出的一个请求,编译器可以选择忽略这个请求。
    一般来说,inline用于优化规模小,流程直接,频繁调用的函数,而且很多编译器并不支持内联嵌套函数。内联函数主要是抵消了函数调用时的开销,但是如果将内联函数全部展开的开销大于函数调用的开销,编译器便会自动忽略内联的请求。
    内联函数通常定义在头文件中。
    2、access level:public、private、protected、friend
    封装:
    定义在public说明符后的成员在整个程序内可以被访问,public成员定义类的接口。
    定义在private说明符号后面的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private部分封装了类的实现细节。
    一个类可以包含0个或者多个访问说明符,而且对于某个访问说明符能出现多少次也没有严格限定。每个访问说明符指定了接下来的成员的访问级别,其有效范围直到出现下一个访问说明符或者到达类的结尾为止。
    一个类可以用struct或者class进行定义,区别便是struct的默认访问权限为public,而class的默认访问权限为private。
    友元:
    类可以允许其他类或者函数访问它的非共有成员,方法是令其他类或者函数称为它的友元。如果想把一个函数作为它的友元,只需要增加一条以friend关键字开始的函数声明语句即可。
    友元函数如果定义在类的内部,则其是隐式内联的,相同种类的类互为友元。
    3、默认实参
    4、初始列表xxx xxx() : xx(x),yy(y)
    5、overloading
    重载的条件:
    1、函数有不同参数。
    2、函数有不同参数类型。

    4-参数传递与返回值
    const
    传引用传值的区别:
    什么时候用传引用,什么时候传值

    5-操作符重载与临时对象
    1、操作符重载(成员函数与非成员函数)
    比较全面的 C++ 操作符重载 (operator)
    2、temp object

    6-复习Complex类的实现过程

    相关文章

      网友评论

          本文标题:C++面向对象高级编程(上) Week 1 (Boolan) b

          本文链接:https://www.haomeiwen.com/subject/ivbjkxtx.html