首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++类定义的一个有关问题

2013-01-04 
c++类定义的一个问题下面的类定义:class Dog{public:Dog()itsAge(2){}~Dog(){}priviate:int itsAge}我

c++类定义的一个问题

下面的类定义:


class Dog
{
   public:
     Dog();itsAge(2){}
     ~Dog(){}

   priviate:
     int itsAge;
};


我不明白:构造方法 Dog();itsAge(2){}是什么含义,看样子是将itsAge初始化为2,但内联方式的写法也不是这样子的呀,越写越不清楚了。书上没有详细的解释,哪位朋友给讲解一下?
[解决办法]
应该是写错了,应该是冒号表示的初始化列表。你这书不靠谱啊
[解决办法]
Dog():itsAge(2){}

等同于Dog(){itsAge = 2}
[解决办法]
这样写,肯定会显示错误的哦,应该是“:”,这是参数的初始化列表,这样的初始化方式应该是最放心的,跟构造函数的赋值有很多大区别,有兴趣可以自己去找答案
[解决办法]
Dog():itAges(2){}
这就是成员变量初始化参数列表。构造函数的功能本来就是为了完成初始化的工作,c++中,初始化有两种方式,第一种是在构造函数体内进行对成员变量的初始化,第二种就是用初始化参数列表, 即上面你所用的方式。

热点排行