传值调用和引用调用

    技术2025-12-23  5

    值调用是指当发生函数调用时候,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参).这一过程是参数值的单向传递过程,一旦形参获得了值,便于实参脱离了关系,此后无论形参发生了什么变化,都不影响实参了.         引用调用将引用作为形参,在执行主调函数中的调用语句时候,系统自动用实参来初始化形参.这样形参就成为实参的一个别名,对形参的任何操作就直接会作用于实参。

     

    #include"iostream.h"

    Class Sample

    {char ch1,ch2;

    public:

    //*****error***//

    friend void set(Sample s,char ch1,char ch2)

    {s.ch1=ch1;

    s.ch2=ch2;

    }

     

    void print(){cout<<"ch1="<<ch1<<"ch2="<<ch2<<endl;}

    };

     

    void main()

    {Sample obj;

    set(obj,'7','9');

    obj.print();

    }

     

    //*****error***//下 为了改变对象的值,应使用引用调用。应该为

    friend void set(Sample &s,char ch1,char ch2);

     

     

    最新回复(0)