(部分转载)C++的简单函数认识

2018/3/16

1.关于操作符cin和cout

cin和cout是C++的标准输入输出函数

实际上,cin和cout分别可以看做是istream和ostream的对象,自然,可以调用内部的成员函数

相对普遍的成员函数有:

1.cout.setf(ios::left) cout.setf(ios::right)//基于声明全局变量之下,设置左对齐和右对齐

2.cin.width(num);//设置函数的域宽,当所在变量没有那么多的时候,用空格代替空位

2.关于函数的部分概述

函数的传递方法

1.值传递

void Exchg1(int x, int y)   //定义中的x,y变量被称为Exchg1函数的形式参数
{
  int tmp;
  tmp=x;
  x=y;
  y=tmp;
  printf(“x=%d,y=%d\n”,x,y);
main()
{
  int a=4,b=6;
  Exchg1(a,b) //这里调用了Exchg1函数        
  printf(“a=%d,b=%d”,a,b)
}
}
对于x和y并没有调换,因为值传递是单向的,所以当从主函数复制一份传入所在交换函数,在操作过后,自动释放了交换函数中的值(只是交换了x和y的值,对a和b无操作)所以主函数依旧没有变

2.地址传递

Exchg2(int *px, int *py)
{
  int tmp=*px;
  *px=*py;
   *py=tmp;
  print(“*px=%d,*py=%d\n”,*px,*py);
}
main()
{
  int a=4;
  int b=6;
      Exchg2(&a,&b);
      Print(“a=%d,b=%d\n”, a, b);
}


在这里,同样是一个交换函数,但是和值传递不同的是,传递的是指针,指针中所含的是地址,所以是对地址进行操作,由于在对x和y的操作时,改变了a和b的地址,所以达到交换的效果

3.引用传递

Exchg2(int &x, int &y)
{
   int tmp=x;
   x=y;
   y=tmp;
  print(“x=%d,y=%d\n”,x,y);
}
main()
{
  int a=4;
  int b=6;
      Exchg2(a,b);
      Print(“a=%d,b=%d\n”, a, b);
}

什么是引用呢?可以看做一个人的小名,一旦创建就可以代表该值本身,所以通过改变“小名”(改变了变量本身),可以做到交换的效果

参考资料:http://www.360doc.com/content/06/1128/16/13362_275711.shtml

多说几句:

1.作为引用传递的赋值时,赋值的时候只能给变量赋值,不能给一个具体的数赋值

2.引用在定义的时候要进行初始化

3.引用一旦定义,其值不变

4.对于整个数组而言,不能使用引用传递,但是对于数组的某个单元,是可以的;

3.函数的重载

1.通俗的来说,函数的重载就是给函数改装一下,把函数的参数,类型进行改变,所以函数就可以对不同类型的数据进行操作

add(int a,int b);
add(double c,double d);

2.作为重载,可以和重写一起作为体现函数多态性的重要方法

4.函数的模板(Template)

1.在泛型编程中用的较多,意思就是给函数套一个模型,然后把所有的数据直接向里面代入就可以了

2.

Template<class T>T function(T num1,T num2)
//Template 作为模板的关键字,T作为一个替代值,相当于替代了一个数据变量(int double 等等),后面的是函数主体,
{
   ..........;
return ;
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值