| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:大家好,请问列表初始化应该怎么理解
只看楼主 加入收藏
后卿
Rank: 4
来 自:网络
等 级:业余侠客
威 望:1
帖 子:302
专家分:295
注 册:2016-10-22
结帖率:81.71%
收藏
已结贴  问题点数:20 回复次数:2 
大家好,请问列表初始化应该怎么理解
程序代码:
class seeObject
{
public:
    int x;
    seeObject()
    {
        
    }
    seeObject(int val) :x{ val }
    {
        
    }
};
class creature:protected seeObject
{
protected:
    int hp;
public:
    creature() :seeObject{ 1200 }
    {
    }
};

请问:1.这里的seeObject{ 1200 },能不能写成seeObject(1200 ),个人觉得它应该写成seeObject(1200 ),就好比调用了seeObject的有参构造,
2.没看懂这个seeObject{ 1200 }是什么语法,那么 creature() :seeObject{ 1200 }应该把它称作委托构造还是列表初始化呢,如果是成员列表初始化,是将1200自动传递给了val么?
3.seeObject(int val) :x{ val }这里的x{val}能不能写成x(val)?

[此贴子已经被作者于2023-5-7 11:14编辑过]

搜索更多相关主题的帖子: 列表 初始化 构造 public int 
2023-05-07 11:10
东海ECS
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:Python
等 级:版主
威 望:32
帖 子:412
专家分:1646
注 册:2023-1-24
收藏
得分:20 
1. 可以.
2. seeObject{1200}是一种统一列表初始化语法, 用于对象的初始化(成员列表初始化). creature类的构造函数使用初始化列表语法来初始化基类成员seeObject的x属性.
3. 可以.

[此贴子已经被作者于2023-5-7 11:18编辑过]


会当凌绝顶,一览众山小.
2023-05-07 11:16
后卿
Rank: 4
来 自:网络
等 级:业余侠客
威 望:1
帖 子:302
专家分:295
注 册:2016-10-22
收藏
得分:0 
回复 2楼 东海ECS
对于第一点,如果我写成seeobject(100),这个是称作委托构造还是成员初识化列表
对于第二点,列表初始化还能这么写么,我之前写的都是将成员变量进行成员列表初始化,没试过这种写法

[此贴子已经被作者于2023-5-7 11:53编辑过]

2023-05-07 11:47
快速回复:大家好,请问列表初始化应该怎么理解
数据加载中...
 
   



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

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