C++5:函数与类

发布于:2022-11-27 ⋅ 阅读:(257) ⋅ 点赞:(0)

C++5:函数与类

每天学习亿点点,每天记录亿点点

Content:

  1. 函数的参数传递:
    值传递: 指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递,一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。
    引用传递: 引用传递是一种特殊类型的变量,可以被认为是另一个变量的别名,通过引用名与通过被引用的变量名访问变量的效果是一样的。
    引用(&)是标识符的别名,例如:
int i, j;
int &ri = i;    //建立一个int型的引用ri,并将其ri     
                //初始化为变量i的一个别名
j = 10;
ri = j;//相当于 i = j;

使用引用注意点:

  • 声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。
  • 一旦一个引用被初始化后,就不能改为指向其它对象。

引用可以作为形参 void swap(int &a, int &b) {…}

  1. 内联函数 :对于一些功能简单、规模较小又使用频繁的函数,可以设计为内联函数
    (1)声明时使用关键字 inline。
    (2)编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。
    注意:
    (1)内联函数体内不能有循环语句和switch语句。
    (2)内联函数的声明必须出现在内联函数第一次被调用之前。
    (3)对内联函数不能进行异常接口声明。
  2. 缺省形参值的说明次序
    有缺省参数的形参必须在形参列表的最后,也就是说缺省形参值的右面不能有无缺省值的参数。因为调用时实参与形参的结合是从左向右的顺序。
int add(int x, int y = 5, int z = 6);//正确
int add(int x = 1, int y = 5, int z);//错误
int add(int x = 1, int y, int z = 6);//错误
  1. 重载函数
    两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。
    注意:重载函数的形参必须不同:个数必须不同或者类型不同。
    在这里插入图片描述
class 类名称
{
   public:
             公有成员(外部接口)
   private:
             私有成员
   protected:
             保护型成员
}
公有类型成员在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。
私有类型成员在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。
保护类型与private类似,其差别表现在继承与派生时对派生类的影响不同
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到