首页 相关文章 C++基础:初始化类对象

C++基础:初始化类对象

问题:
   C++中如何初始化类中的表数据?在C语言中,我能像下面这样初始化结构数组:
  

  
  //
  strUCt MYSTRUCT {
   int x,y,z;
  };MYSTRUCT table[] = {
   { 1,2,3 },
   { 4,5,6 },
   ... // etc
  };
  //
  
  
  但是假如MYSTRUCT是个C++类,而不是结构,我编译就会出错。我觉得这是C++的一个不足。 解答:
  
   这个问题完全取决于你如何看待C++。C++的一个优点之一便是它强制你做正确的事情。例如,C++不喜欢创建对象时不调用构造函数。这只就是为什么你不能用原始数据初始化类对象的原因,不管是部分数组还是其它数据。 构造函数的目的是保证每一个对象都被正确初始化,不管你是从程序栈,可用内存堆分配空间,还是作为静态数组元素。让原始数据旁路掉构造函数被忌讳的事情。也导致你不能用初始的数据来创建对象静态数组——你必须调用构造函数! ...[ 查看全文 ]

2016-02-19 标签:

C++基础:初始化类对象的相关文章

手机页面
收藏网站 回到头部