首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++——指针,堆栈,摘引,函数

2012-07-27 
C++——指针,堆栈,引用,函数C++——指针,堆栈,引用,函数#include?iostream??#include?stdio.h??using?name

C++——指针,堆栈,引用,函数
C++——指针,堆栈,引用,函数 C++——指针,堆栈,摘引,函数

    #include?<iostream>??#include?<stdio.h>??using?namespace?std;????/*?按值传递需要建立参数的副本,当传递较大的对象时,需要用引用或者指针。?在按值传递的过程中,不仅需要复制对象,还要调用默认复制构造函数,该函数的作用就是创建某个对象的临时副本;?返回时,副本会被删除,因此也会调用析构函数。?参数传递中:int*?const?a(指针的值不能边,指针所指向的对象的值可以变)?等同于?int&?a(别名常量,a不能指向其他对象,但值可以改变)?const?int*?const?a?等同于?const?int&?a?*/??class?A??{??????public:??????A(){printf("构造函数执行\n");}??????A(A&)?{printf("复制构造函数执行\n");}??????~A()?{printf("析构函数执行\n");}??};????A?fuc(A?one)??{??????return?one;??}????void?SwapByValue(int?a,?int?b)??{??????int?t;??????t?=?a;??????a?=?b;??????b?=?t;??}????void?SwapByPoint(int*?a,?int*?b)??{??????int?t;??????t?=?*a;??????*a?=?*b;??????*b?=?t;??}????void?SwapByRef(int?&a,?int?&b)??{??????int?t;??????t?=?a;??????a?=?b;??????b?=?t;??}????int?main()??{??????int?a=3,b=4;??????SwapByValue(a,b);??????printf("%d?%d\n",a,b);??????SwapByPoint(&a,&b);??????printf("%d?%d\n",a,b);??????SwapByRef(a,b);??????printf("%d?%d\n",a,b);??????A?a1;??????A?b1;??????b1?=?fuc(a1);??????return?0;??}?