类与对象(上)

一,面向过程和面向对象初步认识

        C语言是面对过程,关注的是过程,分析出求解问题的步骤,通过函数的屌用来逐步的解决问题。c++基于面向于对象的,关注的是对象,讲义几件事情拆分成不同的对象,靠对象之间相互完成。

        类的引入:

                C语言的结构体中只能定义变量,在C++中,结构体中不只能定义变量还能定义函数。

        类的定义

                class为类的关键字,classname为类的名字。{}为类的主体,后面的分号不能省略

二,类的访问限定符及封装

        用类将对象属性与方法结合在一块,让对象更加完善,根据访问权限选择性将其接口提供个外部用户使用。

说明:

        1,punlic修饰的成员在类外可以直接使用。

        2,protect和private修饰的成员不可以在类外直接的使用。

        3,访问权限作用域从该访问限定符出现到下一个访问限定符结束。

        4,如果后面没有访问限定符,那到类  }  结束。

注:

        访问限定符只在编译时使用,当数据映射到内存后,没有任何的访问限定符的区别。

 封装

        面对对象的三大特性:封装,继承,多态。  

        封装:将数据和操作数数据的方法相结合,隐藏对象的属性和实现细节,仅对外公开的接口来和对象进行交相互。

类的大小

        类的大小其实就是成员变量之和,当让也要注意内存对齐,要注意空类地大小,空类比较特殊,编译器给了空类一个字节唯一表示这个类的对象。

三,this指针

        C++编译器给每个 非静态的成员函数 增加了一个隐藏 的指针参数,让该指针指向当前对象 ( 函数运行时调用该函数的对象 ) ,在函数体中所有 成员变量 的操作,都是通过该指针去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编 译器自动完成
        
     
C++ 编译器给每个 非静态的成员函数 增加了一个隐藏
的指针参数,让该指针指向当前对象 ( 函数运行时调用该函数的对象 ) ,在函数体中所有 成员变量
的操作,都是通过该指针去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编
译器自动完成
 
         特性:
        1. this指针的类型:类类型* const,即成员函数中,不能给this指针赋值。
        2. 只能在成员函数的内部使用
        3. this指针本质上是成员函数的形参,当对象调用成员函数时,将对象地址作为实参传递给
        this形参。所以对象中不存储this指针
        4. this指针是成员函数第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传
        递,不需要用户传

        

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值