C++类和对象(一)

  • C++中的结构体可以定义函数,但是c的结构体是不行的,因为在C++中我们把结构体也当作是类,这个类的默认访问权限是public的(为了兼容C)

  • 类的定义

 class Person
 {
 	//类体:由成员变量和成员函数组成
 };  //这里一定要由分号
  • 类的访问修饰限定符

    CPP中类的访问修饰限定符一共有三种,他们分别是public,protected和private,public修饰的成员在类内外都可以随便访问,而protected和private修饰的成员只能在类内访问。

  • 类的作用域

    类定义了一个新的作用域,其中包括了他的成员变量和成员函数,如果我们要指明某个东西是在哪个作用域内的,使用::符号,如下

    class Person
    {
    public:
    	void print();
    private:
    	char m_name[20];
    	int m_age;
    };
    
    void Person::print()  //指明类域
    {
    	
    }
    
  • 类的实例化

    我们可以把类想象成一个图纸,用这个图纸我们造出来一座座标准化的房子,这个房子就是对象,类创建对象的过程就称为类的实例化

请添加图片描述

这时候我们又引出了一个问题,如何取计算对象的大小?

实际上,对象中只存放成员变量,而成员函数则被存放在公共的代码段,因为如果成员函数也存放在对象内,我们知道只要是一个类实例化出来的对象,它的成员函数都是相同的,相同的东西一直重复制造,岂不是浪费非常多的空间,因此这个成员函数不存放在对象内,所以要计算对象大小只需要知道结构体字节对齐规则就行了,这个规则很多人写过了,这里不再赘叙。

请添加图片描述

  • this指针

    this指针一句话概括就是一个指向当前对象的指针,比如当成员变量的名字和传入的参数名字相同时,我们就可以使用this指针避免命名冲突,如下:

    class Person
    {
    public:
    	Person(int age)
        {
            this->age = age;   //避免传进来的age和我们的成员变量名字冲突
        }
    private:
      	int age;
    };
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值