Linux下编写C++实例程序(一)

   下周考C++了,敲程序熟悉一下子,记下来,用惯了linux,不想在windows中用VC6.0了,直接使用vim编写,利用g++编译连接。源程序直接放到VC6.0中也能用!

实例1

   设某次体育比赛的结果有4中可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这4中情况。

   知识点:主要是练习枚举类型enum的使用

  

编译运行结果

   

实例2

    将两个整数交换次序后输出。

   知识点:值传递是指当发生函数调用时,给形参来分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递关系,一旦形参获得了值便与实参脱离关系,此后无论形参发生了什么样的改变,都不会影响到实参。

   

  编译运行结果

  

  分析:从上面的运行结果可以看出,并没有达到交换的目的。这是因为,采用的是值传递,函数调用时传递的是实参的值,是单向传递过程。形参值的改变对实参值不起作用。

实例3

   利用引用传递完成实例2功能

   知识点:① 声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。② 一旦一个引用被初始化后,就不能改为指向其他对象。③ 用引用作为形参,在函数调用时发生的参数传递,称为引用传递。

  

  编译运行结果

  

  可见,通过引用传递实现了数据交换的功能。

实例4

  值传递与引用传递的比较。

  分析:子函数 fiddle 的第一个参数 in1 是普通的 int型,被调用时传递的是实参v1的值,第二个参数in2是引用,被调用时由实参v2初始化后称为v2的一个别名。于是在子函数中对参数 in1 的改变不影响实参,而对形参in2的改变实质上就是对主函数中变量 v2的改变。因而返回主函数后,v1值没有变化,v2值发生了变化。

       

编译运行结果

   

posted @ 2013-06-15 15:20  爱生活,爱编程  阅读(33442)  评论(1编辑  收藏  举报