COne(int a):x(a),r(x){}这样的结构,不知道大家能否为我解释哈?
关于常数据成员的初始化问题,这里的r前为什么要取地址?#include "stdafx.h"#include <iostream.h>
class COne
{
public:
COne(int a):x(a),r(x)
{}
void print();
const int &r;//为什么这里要取地址啊???????????
private:
const int x;
static const int y;
};const int COne::y=10;
void COne::print()
{
cout<<"x="<<x<<",y="<<y<<",r="<<r<<endl;
}void main()
{
COne one(100);
one.print();
}
关于常数据成员的初始化问题,这里的r前为什么要取地址?#include "stdafx.h"#include <iostream.h>
class COne
{
public:
COne(int a):x(a),r(x)
{}
void print();
const int &r;//为什么这里要取地址啊???????????
private:
const int x;
static const int y;
};const int COne::y=10;
void COne::print()
{
cout<<"x="<<x<<",y="<<y<<",r="<<r<<endl;
}void main()
{
COne one(100);
one.print();
}
解决方案 »
- 窗口重绘的问题
- 求电子书 windows程序设计 50分相换
- 请问怎么在InternetOpen中设置http代理啊?
- MFC里面有没有一个专门的函数可以测量网络流量?
- 求救:关于远程控制的问题。
- setsockopt重复使用端口和地址的问题
- 如何直接连接服务器端的oracle数据库?
- 请问Release版的程序编译出现"LINK : warning LNK4089: all references to "ADVAPI32.dll" discarded by /OPT:REF"该如何解决??
- 数据检索问题
- 菜鸟问题!!————高手请闲庭信步
- 请教:频繁使用临界区对程序的影响
- 看完最基本的VC++书后下步应该做什么
就是因为那个r是引用,所以必须在初始化时就让它指向一个变量.这就是COne(int a):x(a),r(x)的原因.
其中r是一个指向变量x的引用!!!
是C++函数的初始化列表... 可以百度下它的用法...意思就是x=a,r=x&在这里是表引用的意思...
说明r是一个int变量的引用.. 你可以参看下C++语法书上的解释..