CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

关于操作符“ :”!

楼主daffyduck()2005-09-07 00:03:14 在 C/C++ / C++ 语言 提问

#include   <iostream>  
   
  class   Matter  
  {  
  public:  
          Matter   (int   id)  
                  :   _identifier(id)  
          {  
                  std::cout   <<   "     Matter   for   "   <<   _identifier   <<   "   created\n";  
          }  
          ~Matter   ()  
          {  
                  std::cout   <<   "     Matter   in   "   <<   _identifier   <<   "   annihilated\n";  
          }  
  private:  
          const   int   _identifier;  
  };  
   
  class   World  
  {  
  public:  
          World   (int   id)  
                  :   _identifier   (id),   _matter   (_identifier)   //   initializing   embeddings  
          {  
                  std::cout   <<   "Hello   from   world   "   <<   _identifier   <<   ".\n";  
          }  
   
          ~World   ()  
          {  
                  std::cout   <<   "Good   bye   from   world   "   <<   _identifier   <<   ".\n";  
          }  
  private:  
          const   int             _identifier;  
          const   Matter       _matter;   //   Embedded   object   of   type   Matter  
  };  
   
  World   TheUniverse   (1);  
   
  int   main   ()  
  {  
          World   myWorld   (2);  
  }  
   
  帮忙解释一下1。Matter   (int   id)   :   _identifier(id)   中的操作符“:”?  
  2。const   int   _identifier;//常量不是定义时就要被初始化的吗?  
  3。_identifier值是怎样被存起来的?  
  问题点数:20、回复次数:7Top

1 楼doway(john)回复于 2005-09-07 00:26:08 得分 5

1、成员初始化表  
  类的初始化有一种可替换的语法:成员初始化表(member   initialization   list)是由逗号  
  分开的成员名及其初值的列表。  
   
  2、3   与   1   是同一个问题。Top

2 楼nasi00(莫傲·逍遥)回复于 2005-09-07 05:25:34 得分 5

去找本Effective   C++看看,里面有关于这个的一些讨论,写的挺好Top

3 楼mituzhishi(慎独)回复于 2005-09-07 10:28:33 得分 5

帮忙解释一下1。Matter   (int   id)   :   _identifier(id)   中的操作符“:”?  
  2。const   int   _identifier;//常量不是定义时就要被初始化的吗?  
  3。_identifier值是怎样被存起来的?  
   
  1.初始化列表,:表示列表的开始,括号外是类的元素,括号内是初始值.  
   
  2.Java里面是的,但C++里面的初始化都要在构造函数里面做.有一种情况例外:  
   
  const   static   a=0;可以在类中初始化(就是同时const   和   static)  
   
  3._identifier使用初始列表括号里的东西初始化的.Top

4 楼ferrywong(皇妹)回复于 2005-09-07 11:17:34 得分 3

成员初始化表,是构造函数定义式第二种初始化写法。例如:  
  Triangular::Triangular(const   Triangular   &rhs):_length(rhs._length),_beg_pos(rhs._beg_pos),_next(rhs._next){}  
  成员初始化表是紧跟在冒号后面的,以逗号隔开Top

5 楼yaoniming3500(腰子比猪大)回复于 2005-09-07 11:33:07 得分 2

成员初始化列表,一般用来初始化基类成员的。Top

6 楼hxblvc(还是好好学吧...)回复于 2005-09-07 11:57:09 得分 0

看来我不用说了  
  upTop

7 楼snowbirdfly(专心搞好嵌入式~~~)回复于 2005-09-07 12:06:44 得分 0

是啊~  
  再顶一下~~Top

相关问题

  • []操作符
  • []操作符
  • 增量操作符???
  • 关于"&"操作符
  • 操作符重载
  • 操作符重载
  • 操作符重载
  • 操作符号问题
  • new操作符被MFC……
  • XOR是什么操作符?

关键词

  • matter

得分解答快速导航

  • 帖主:daffyduck
  • doway
  • nasi00
  • mituzhishi
  • ferrywong
  • yaoniming3500

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo