【C++】面向对象的思想和类的认识

(一)面向对象的思想

在这里插入图片描述


(二)类的认识

  • 类是一组相关的属性(变量)和行为(方法)的集合。是一个抽象概念设计的产物;
  • 对象是该类事物的具体表现形式。现实世界存在对应的实体;
  • 成员变量是对象的属性(变量、指针、数组等),属性的值确定对象的状态;
  • 成员函数是对象的方法,确定对象的行为;
  • 变量的值确定了对象的状态;
  • 通过对象的方法可以改变对象的状态;

(三)类的设计

在C++中类是一种数据类型;

class 类名		//类 头
{
public:			//公有
		
private:		//私有
	
protected:		//保护
	
};

注意:

  • 类是一种数据类型,在设计时,不分配存储空间,所以不能对数据成员初始化。类中的属性也不能使用关键字extern、auto、register等限定其存储类型;
  • 类中默认权限private(私有),其中类的权限体现封装性;

(四)C++对象模型

通过同一个类实例化的对象,这些对象只有属性的值不同,每个对象的成员方法都是相同的。所以同一类的对象,每个对象分配单独的数据区,成员方法存放在代码区为每个对象共用。

下面我们设计人类进行举例:

#include <iostream>
using namespace std;
class Person
{
public:
	Person();
	~person();
	int GetAge();
	char* GetName();
	...
private:
    char* name;
    int age;
};

int main()
{
	Person s1,s2,s3;
	return 0;
}

对象模型如下:
在这里插入图片描述


(五)总结

  • 有空间,不一定有对象
  • 有对象,一定有空间(空类型的对象占用1字节的大小)
  • 类也遵守结构体内存对齐的规则

下节:讲解C++对象模型的实现方式(this指针实现)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值