嵌入式每日学习心得2017.08.02

来源:互联网 发布:spss23 for mac破解版 编辑:程序博客网 时间:2024/06/03 20:49

类和对象:
对象:一辆车,树叶,一个人。
组成:属性,形为
对象的描述:一个对象的描述过程。

类:就是对象的一次描述
组成:成员变量,成员方法(函数)
类的三大特点:封装,继承,多态
定义类:
class  类名
{
限定符:
   方法; //注意:限定区间是从此限定符开始,到下一个限定符结束
   方法1;
   变量1;
   变量2;
限定符:
   变量;
};
注:类只是对象的模板(没有分配存储空间的)
封装:将对象的成员对外界隐蔽方法
  注:定义结构体类型:默认成员是对外公开的(公有的),
      定义类类型,默认成员对外是私有的
    1限定访问方式:类成员对外的访问的限定权限 
公有(public):成员对外界公开
保护(protected):成员对外不可访问
私有(private):成员对外不可访问


    2、将隐式信息进行非公有限定,如果类外需要访问,可以通过公有接口    


     对象:类的一次实例化
    定义对象:  类名  对象名;
注:分配存储空间,只是分配成员变量,但共享方法
  
     消息:(引用成员或变量)
 只需要向一个对象发送一次指令,此对象收到指令时就可自行完成此指令事件.
对象.方法()


      对象指针:
类* 指针对象;
对象指针->方法();       



     类外:在类的外部去引用成员
     类内:在定义类的内部去引用成员


     this:自指针(指向自身成员)  (隐蔽指针:只能在类内来使用)


     类成员的作用域:类的定义范围内。
     


     类外实现定义方法,类内部只需要声明即可:
class 类
{
限定符:
声明方法;
};
     
实现方法
返回值  类::方法(..)
{
}
  
     构造方法(特殊):就是用分配存储空间并初始化空间值
class 类
{
public:
类名();
};
注:1、构造方法与类名相同  2、没有返回值  3、只要对象实例化(定义对象)时,系统会自动调用构造函数
   4、不允许调用构造函数。
    
1、默认构造函数:当用户没有为某个类定义构造函数时(由于第3点原因),编译就会默认添加如下构造函数
类名(){}


问:
构造函数什么调用?
当对象实例化时


重载构造方法:当一个构造方法不满足初始化时,可以实现重载


默认复制/拷贝构造函数:
类名(类名&)
类名 s1=s2; //s2已经实例化,将s2拷贝一分内存到s1中(调用拷贝构造函数)
或者 类名 s1(s2);

对象引用:对象取别名
类& 别名=对象;

对象数组:
类  数组名[10]={类名(...),,,,};

初始化列表:对成员变量简单赋值
class 类
{

类(int a1,int b,int c2):a(a1),b(b),c(c2)
{
this->c=c2;//与初始化列表中串c(c2)等价
}
限定符
成员 a;
成员 b;
成员 c;
}
注:1只能在定义构造函数中使用初始化列表。
   2只能过成员变量名来初始化  


问:多个构造方法,怎样确定调用构造函数的?
在实例化对象时,通过传递实例残表来确定




隐式类型转换原则:
1、如果是char-->int
         short->int
   float-->double
   int+float---->double
  char+short--->int
  short+float->double