美文网首页
(Boolan)C++面向对象编程第一周笔记

(Boolan)C++面向对象编程第一周笔记

作者: readME_boy | 来源:发表于2017-07-20 22:47 被阅读0次

    将程序变得高大上的几个注意点

    • 头文件的防卫式声明:
    declaration.png

    include指令是编译预处理,在一个程序的开头,用来包含标准库文件和自己编写的库文件。用防卫式声明,可以帮我们避免头文件中的重复编译。

    • Template 模板
    template.png

    当我们在建造一个class的时候,如果我们想多建几个几乎是99%结构相同的object,只要一些属性比如double、int这些不一样,可以用template来代替这些具体的定义。

    • Inline 内联函数

    函数若在class body内定义完成,便会自动成为inline函数候选人。我们在写函数时,都可以假装写上inline,因为编译器会自动检验它是否有成为inline函数的潜质,如果有的话,inline函数就可以提高程序的效率

    inline.png
    • Constructor(ctor) 构造函数定义方式
      在构造函数名和函数内容({}里面的东西)之间,可以用一个冒号:完成initializtion的工作,这样程序运行更加快。
    initialization.png

    构造函数可以有很多个overloading(重载),这也是C++区别于C的一个重要特性。

    overloading.png
    • Const member function 常量成员函数
    const.png

    只要不影响内部数据的内容,都可以定义为const member function.

    • 参数/返回值传递:pass by value vs. pass by reference
      pass by reference更有效率并且节省内存,但有时不得不pass by value,比如不能改变原来的数据的时候。

    • Friend 友元

    friend.png

    使用友元,便可自由取得private中的内容,比如相同class的各个object互为友元。

    • Operator overloading 操作符重载
    operator.png

    To be continued, 这篇博客之后会更加完善的。。。

    相关文章

      网友评论

          本文标题:(Boolan)C++面向对象编程第一周笔记

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