注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蒙奇D小豌豆的博客

蒙奇D小豌豆的学习记录

 
 
 

日志

 
 

C++学习二之类  

2013-01-31 21:05:08|  分类: language |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1 inline可以在类内部声明或者或者定义处声明,如果成员函数在类内部实现定义 则默认为inline函数

2 只有当类定义过后才能使用 使用只声明过类会出现不完全类型错误,但是可以使用该类的指针和引用,或者是static类型也可以。因而类不能具有自身类型的数据成员,但是有其指针和引用,static变量

3 在非const成员函数中this是一个不能改变其地址 但是能改变其对象的指针,在const成员函数里面this都不能改变

4 基于const的成员函数重载,通常返回其*this或者内部对象的时候起到作用 const成员 调用const版本返回依然是const,非const调用非const版本返回为非const
const A& func() const;
A& func();

5 在类的函数局部数据(参数),类成员数据,全局数据,作用域为首先函数局部数据(参数),类数据成员,全局数据。如果出现相同名字的数据,在成员函数类调用的是函数参数,可以通过this来访问类成员数据,通过:访问全局数据

6 构造函数 分为初始化列表和计算赋值阶段,成员的初始化最好在初始化列表中做掉. 如果没有进行显示初始化的数据成员,编译器会生成合成构造代码段:对于类成员用其默认构造函数初始化,对于内置和符合类型
的非静态成员不做任何操作,静态则初始化为0.

7 构造函数中必须在列表初始化中进行初始化:const成员, 引用成员,没有默认构造函数的类成员 都需要在初始化列表中显示初始化

8 构造函数成员的初始化顺序跟初始化列表顺序没关系,与声明顺序有关。因而初始化列表应该与声明一致

9 合成默认构造函数: 1. 只要class定义了一个非默认的构造函数, 编译器都不会产生合成构造函数。 其初始化规则见6

10 除非有明显利用想要定义隐式转换,否则单形参构造函数应该为explicit

11 static成员函数 只能访问static 成员数据,没有this指针 而且不能定义为const。static关键字只能用于声明内部,不能用于定义处

  评论这张
 
阅读(118)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018