关于 int a(0)是什么意思?

IMCNS 2012-03-20 09:50:02
class TwoPoint
{
public:
TwoPoint(double i,double j) : x( i ), y( j ) { } ;
private:
double x, double y ;
};

这种构造函数的写法是什么意思?

那个 : 号后面 x( i )这样代表什么意思?

学C++已经学了一个多月了,但是书上却第一次出现这种例子,我看不懂...
没有碰到过 TwoPoint(double i,double j) : x( i ), y( j ) { } ;
这种函数的写法,请高手帮忙解释一下,谢谢!


请详细说说这种 x(i)这种方式是具体什么意思,怎样操作的好吗? 谢谢!
...全文
1606 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
IMCNS 2012-03-20
  • 打赏
  • 举报
回复
谢谢各位,我已经去了解 初始化列表了
pengfoo 2012-03-20
  • 打赏
  • 举报
回复
那个 : 号后面 x( i )这样代表什么意思?
***************************************

执行的是初始化的作用,即将x初始化为值为i;

构造函数在对象创建的时候自动被调用,从而自动完成了上述的初始化。
小坏猪猪 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 imcns 的回复:]
class TwoPoint
{
public:
TwoPoint(double i,double j) : x( i ), y( j ) { } ;
private:
double x, double y ;
};

这种构造函数的写法是什么意思?

那个 : 号后面 x( i )这样代表什么意思?

学C++已经学了一个多月了,但是书上却第一次出现这种例子,我看……
[/Quote]


相当于在调用该类的构造函数时,将i赋值给X,亦为x = i,但性能X(i)比x=i要好,所以一般在实际项目都采用X(i)的形式



********************************************************************************
* C++经典之作下载链接:http://blog.csdn.net/jerryjbiao/article/details/7358796 *
********************************************************************************
君子美玉 2012-03-20
  • 打赏
  • 举报
回复
初始化
pengzhixi 2012-03-20
  • 打赏
  • 举报
回复
TwoPoint(double i,double j) : x( i ), y( j ) { } ;
google"初始化列表"
pengzhixi 2012-03-20
  • 打赏
  • 举报
回复
函数初始化方式。int a=5;
teleinfor 2012-03-20
  • 打赏
  • 举报
回复
百度:构造函数初始化列表。
int a(0); // 声明一个int行的变量a,初始化为0值。
bluewanderer 2012-03-20
  • 打赏
  • 举报
回复
构造函数写法的初始化

int a = 1; 和int a(1);是一码是。

构造方法定义的时候后面 : 成员(构造参数), 成员(构造参数), ... 是构造成员的写法。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧