美文网首页
C++面向对象程序设计-First Week

C++面向对象程序设计-First Week

作者: Letmethinkthink | 来源:发表于2017-10-19 15:34 被阅读0次

    —————————————————————————————————————————————————

    //Knowledge Point:

    *类的经典分类:

    带pointer和不带pointer

    *头文件的防卫式声明:

    #ifndef  _COMPLEX_

    #define _COMPLEX_

    //body

    #endif

    *模板函数: template<typename T>

    *constructor(构造函数):同类名 无返回类型 初值列

    *access level(访问级别):public private protected

    *overloading(重载):同命不同参

    *构造函数可以写在private下 singleton 读取一次

    *constant member functions(常成员函数):数据不会改变

    *参数传递:pass by value 数据整包传输  pass by reference (to const)  引用(底部为pointer 快)  eg:const complex& (快且不可改)

    返回值传递给已存在的对象可以return by reference

    返回值传递给不存在的对象需要新的变量接受,不可以返回reference

    *friend(友元)

    *相同class的各个objects互为friends(友元)

    *class规范:

    数据存在private下

    参数尽量用reference传递(const)

    返回值尽量用reference

    class的body内该用const用const

    构造函数使用初始化列表

    *operator overloading (操作符重载-1 成员函数) this

    eg:complex::operator += (const complex&r){

                return  _doapl(this,r);

            }

    *return by reference 传输者无需知道接收者十一reference形式接受

    *operator overloading (操作符重载-2,非成员函数)

    inline complex&

    operator +(const complex& x,const complex& y){}

    *temp object(临时对象) typename()

    不可return by reference (临时存在的)

    返回local object

    —————————————————————————————————————————————————

    //Experience

    看了群里同学们的讨论争议最多的是:

    inline函数的用法

    const的用法

    指针和引用的异同点

    传递参数是传value或reference等

    大家讨论的知识点挺细,我看的云里雾里,理解的模模糊糊,也有一些简单的思考和体悟:

    inline函数需要给编译器审批,不是打上inline的标签就inline了,编译器会判断。inline失败默认为static函数。

    template模板类函数使用起来会更加方便

    还有这个星期考试交的C++更加规范的写法让我印象更深,防卫式声明,构造函数的初值列,const该用就用等等,写作业的时候写运算符重载有点卡,思考了好久才运行成功,后来就在优化改进作业程序了,想做的更好一点。关于这周更深入的思考也就没有了,主要是看群里聊天记录有点晕乎乎的,继续加油!

    相关文章

      网友评论

          本文标题:C++面向对象程序设计-First Week

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