类和对象基础

类和对象

类的概念

我们前面了解过C语言是一门面向过程的编程语言,而C++是一门面向对象的编程语言,

这个“面向对象”其实就体现在类和对象上,我们画上一幅图可以清楚认识一下:
在这里插入图片描述
C++的三大特性:封装、继承、多态
继承和多态我们放在后面进行了解,这里主要搞清楚什么是封装:

  • 封装是面向对象程序设计的基础特征。它是将数据(属性)与函数(方法)进行合并成一个整体,也就是我们上面所说的类。(把属性和方法进行封装)
  • 将客观事物封装成抽象的类,类可以将自己的属性与方法对指定的用户开放,对其他用户进行隐藏。(对属性和方法进行访问权限控制)

这里我们提到了访问权限控制,就不得不说一下类的三种成员访问限定符:

  • public: 任意位置都可以访问
  • protected: 只有子类和本类类中允许访问
  • private: 只允许本类类中访问
    另外还需要了解一些:
    class和struct的区别:
  • c语言中使用struct定义结构体
  • 在c++中使用struct或者class定义类
  • c语言中struct里面不能定义成员方法和访问权限
  • c++中struct可以定义成员方法和访问权限
  • c++中struct默认访问权限为public,而class的默认访问权限是private
  • c语言中struct最小内存可以为0,c++中最小是1
  • c++中class可以用来写模板,但是struct不可以
    this指针:
    指向源对象自身的指针
    在非静态成员方法的形参列表第一个位置,默认加上this指针,编译期间生成指令时候加上的
    在调用的非静态成员方法的实参列表第一个位置,默认加上this指针,编译期间生成指令时候加上的
    在非静态成员方法体内,使用到非静态成员的地方,默认加上this->,编译期间生成指令时候加上的
    成员方法内无法改变this指针的指向,所以参数中的是
    SUB * const this

面向对象中的static

static方法
没有像普通成员方法一样传递this指针
static成员方法中不可以使用非静态的成员
不依赖对象,可以直接使用类的作用域进行访问

static成员变量
一个类中只有一份
必须在类外进行初始化
访问不依赖于对象,可以直接使用类的作用域进行访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值