数据结构c++版本

C++类

基本的class语法

初始化列表:传统的 :storedValue(initialValue){ }

      c++11  :storedValue  {initialValue}   { }

explicit 构造函数 :应该让所有的单参数构造函数为explicit的,避免后台类型转换(behind-the-scenes type conversions),例如以下代码:

          intcell  boj;

          obj = 37;

          obj是一个对象,37是一个值,左右不同,正常来说不能赋值。但是c++标准有一些宽松的法则会 intcell ak = 37; obj = ak;

          ak的构建可以通过单参数构造函数完成,而explicit使用意味着单参数构造函数不能用来生成显示的ak,因此编译器会指出这种类型不匹配的问题!

常成员函数:检查但是不改变对象状态的成员函数叫做访问函数,改变状态的函数叫做修改函数!修改函数就不能用在常对象上!默认所有成员函数都是修改函数,要使函数成为访问函数,必须在终止参数类型表列的封闭圆括号的后面加上关键字const!

      例如:int read() const {return storedValue ; } 因为他是一个访问函数,所以可以加一个const让他成为访问函数,访问函数有改变数据成员的值得操作就会产生bug!

接口与实现的分离:

 

posted @ 2019-03-31 21:23  大泽一直在努力呀  阅读(347)  评论(0编辑  收藏  举报