c++的引用
/*#include"iostream"
using namespace std;
void any_function(int & p);//声明函数any_function//p为引用对象的别名
int main()
{
int a = 1;
cout << "a is" << a << endl;
any_function(a); //此时引用对象的地址传过去的,而不是副本//因为在c和c++中‘&’是作为取地址符的,在c++中有复于了它引用的作用
cout << "a is now" << a << endl;
return 0;
}
void any_function(int & p)//引用时要在&前加上引用对象的类型,如“int”
{
cout << "p is" << p << endl;
p = 2;//所以当p=2是cout << "a is now" << a << endl;输出结果为"a is now 2"//注意:引用变量之前必须将其初始化,像const一样必须在创建时对其初始化
}
*/
/*
#include <iostream>
using namespace std;
float temp; //定义全局变量temp
float fn1(float r); //声明函数fn1
float &fn2(float r); //声明函数fn2
float fn1(float r) //定义函数fn1,它以返回值的方法返回函数值
{
temp = (float)(r*r*3.14);
return temp;
}
float &fn2(float r) //定义函数fn2,它以引用方式返回函数值
{
temp = (float)(r*r*3.14);
return temp;
}
void main() //主函数
{
float a = fn1(10.0); //第1种情况,系统生成要返回值的副本(即临时变量)
float c = fn2(10.0); //第2种情况,系统不生成返回值的副本
//可以从被调函数中返回一个全局变量的引用
float &d = fn2(10.0); //第3种情况,系统不生成返回值的副本
//可以从被调函数中返回一个全局变量的引用
cout << a << endl;
cout << c << endl;
cout<<d<<endl;
}*/
/*
#include <iostream>
using namespace std;
int &put(int n);
int vals[10];
int error = -1;
void main()
{
put(0) = 10; //以put(0)函数值作为左值,等价于vals[0]=10;
put(9) = 20; //以put(9)函数值作为左值,等价于vals[9]=20;
cout << vals[0]<<endl;
cout << vals[9]<<endl;
}
int &put(int n)
{
if (n >= 0 && n <= 9) return vals[n];
else { cout << "subscript error"; return error; }
}*/
//4、引用和多态
//引用是除指针外另一个可以产生多态效果的手段。这意味着,一个基类的引用可以指向它的派生类实例。
//class A;
//class B:public A{ …… };
//B b;
//A &Ref = b; // 用派生类对象初始化基类对象的引用
//Ref 只能用来访问派生类对象中从基类继承下来的成员,是基类引用指向派生类。如果A类中定义有虚函数,并且在B类中重写了这个虚函数,就可以通过Ref产生多态效果。
最新文章
- dubbo配置
- 【Java EE 学习 67 上】【OA项目练习】【JBPM工作流的使用】
- css绝对定位问题
- 【转】Java 5种字符串拼接方式性能比较。
- arraylist linkedlist性能测试
- 根据路径获得文件名以及Aspose.Cells.dll操作excel 以及使用iTextSharp.text.pdf.PdfReader.dll对PDF的操作
- c标准库中字符和数字转换的函数
- @RestController
- PHP E-mail
- struts2的工作机制
- js 指定位置插入html标签(可编辑div)
- Dubbo源码分析系列---服务的发布
- easyui复选框树动态加载后台数据,实现自动选中数据库中数据。后台语言是.NET
- Mysql主从原理
- MySQL 数据库 Query 的优化
- mac 开发环境安装
- #20175120彭宇辰 java第五周学习总结
- js 闭包 弊端
- 20155220 Exp2 后门原理与实践
- Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息