美文网首页
(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