| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:初级问题,只花您几分钟
只看楼主 加入收藏
zzjking
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-7-16
收藏
 问题点数:0 回复次数:9 
初级问题,只花您几分钟
我是c++初学者~
代码如下

class point3d
{
public:
point3d(float x = 0.0,floaty = 0.0,floatz = 0.0)
:_x(x),_y(y),_z(z){}

float x() { return _x; }
float y() { return _y; }
float z() { return _z; }

};
红色部分看不明白
构造函数完了用 是做什么用的?
后面的
_x(x),_y(y),_z(z) 又是什么意思?

[此贴子已经被作者于2007-10-11 15:24:39编辑过]

搜索更多相关主题的帖子: 初级 
2007-10-11 15:23
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 

point3d(float x = 0.0,floaty = 0.0,floatz = 0.0)
:_x(x),_y(y),_z(z){}

在这里结果相当于
point3d(float x = 0.0,floaty = 0.0,floatz = 0.0)
{
_x = x;
_y = y;
_z = z;
}

注意的是:初始化的先后顺序不是冒号后面的顺序,而是按照成员变量声明的顺序
两种方法有区别(常量成员,引用成员,自定义类成员)

[此贴子已经被作者于2007-10-11 16:44:11编辑过]


C++学习
2007-10-11 15:34
exqus
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-7-16
收藏
得分:0 
初始化表达式表
2007-10-11 15:56
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用远去的列车在2007-10-11 15:34:22的发言:

point3d(float x = 0.0,floaty = 0.0,floatz = 0.0)
:_x(x),_y(y),_z(z){}

相当于
point3d(float x = 0.0,floaty = 0.0,floatz = 0.0)
{
_x = x;
_y = y;
_z = z;
}

注意的是:赋值的先后顺序不是冒号后面的顺序,而是按照成员变量声明的顺序

不要把这两种行为混淆,前者是初始化,后者是赋值!
这是有很大区别的,建议翻看“构造函数初始化列表”


Fight  to win  or  die...
2007-10-11 16:02
exqus
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-7-16
收藏
得分:0 

里面关系到构建临时对象的问题

支持多用初始化列表

2007-10-11 16:58
海子星竹
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:0
注 册:2007-9-4
收藏
得分:0 

受教了
今天是学到东西了

2007-10-11 18:56
忘记喧嚣
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-10-7
收藏
得分:0 
那他为什么 要用 _X做变量名?  "_"是什么意思?
2007-10-11 22:31
reedleaf
Rank: 2
等 级:新手上路
威 望:3
帖 子:62
专家分:0
注 册:2007-8-5
收藏
得分:0 
以下是引用忘记喧嚣在2007-10-11 22:31:14的发言:
那他为什么 要用 _X做变量名? "_"是什么意思?

定义私有成员变量的一种习惯,


2007-10-11 22:47
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用忘记喧嚣在2007-10-11 22:31:14的发言:
那他为什么 要用 _X做变量名? "_"是什么意思?

不是习惯,而是区分

_x是成员变量
x是构造函数形参,一样的话有时会出现不确定的问题。

也可以用this显示的告诉编译器,this->x表示成员


Fight  to win  or  die...
2007-10-11 22:53
microhero
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-9-16
收藏
得分:0 

2007-10-12 14:48
快速回复:初级问题,只花您几分钟
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025027 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved