C++基础


头文件写法

#防卫式声明
#ifndef _COMPLEX_ //如果没有定义这个‘_COMPLEX_’ 
#define _COMPLEX_ //如果没有定义这个‘_COMPLEX_’ ,则定义这个‘_COMPLEX_’
//第一次include 就会定义这个_COMPLEX_
//第二次再include时,这个_COMPLEX_被定义过了,不会进入到主体,也就不会重复include

···
···
    
#endif

自己写的头文件用#include “name” 即用双引号引用

类模板

如果是这样 那么re,im就被写死了,这好吗?这不好。

如果需要一个float类型或者整型类型的话难到要重新写一个类吗?

这时候就用到类模板,不把变量类型写死

所以这样

那么我们使用时只需这样

complex<double> c1(2.5,1.5) re,im就是double

complex<int> c2(2,6) re,im就是int

inline(内联)函数

  • 定义

    • 定义在class里的函数
  • 优点

    • 速度快
    • 有宏的特性,没有宏的缺点
  • 缺点

    • 过于复杂的inline func不会被编译器定义成inline

构造函数

  • 特别之处
    • 函数名称和类的名称相同
    • 没有返回类型,也不需要有
    • 构造函数就是用来创建对象的
    • 创建对象时构造函数会被自然而然调用起来
    • 初值列(见图) 要好好利用 (构造函数的特殊语法)

参数传递

  • 尽量用引用
    • 如果不想传进去的参数被修改,加const

友元(friends)

  • 友元可以调用Private
  • 相同的class互为友元

c2通过func直接访问c1re im

成员函数

  • 任何一个成员函数都有一个隐藏的this指针
  • this指针指向这个调用者 ,即谁调用,指向谁

文章作者: 周master
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 周master !
  目录