C++之类

本文介绍了C++中面向对象编程的概念,比较了C语言和C++在面向过程和面向对象的差异,详细讲解了类的定义、访问限定符、封装,以及struct和class的区别。重点强调了封装在实现抽象和信息隐藏中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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

二:类的引入

三:类的定义

3.1类的两种定义方式:

3.2成员变量命名的建议

四:类的访问限定符及封装

4.1类的访问限定符

4.2封装


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

C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题

比如:对于洗衣服

C++是基于面对对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成

 


二:类的引入

C语言结构体中只能定义变量在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:之前在数据结构中,用C语言实现栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数

struct Stack
{
	void Init(int n = 4)
	{
		a = nullptr;
		size = capacity = n;
	}

	void Push(DataType x)
	{
		if (size == capacity)
		{
			int newCapacity = capacity * 2;
			int* tmp = (int*)realloc(a,sizeof(int) * newCapacity);
			if (tmp == nullptr)
			{
				perror("realloc fail");
				return;
			}

			a = tmp;
			capacity = newCapacity;
		}

		a[size++] = x;
	}

	DataType Top()
	{
		return a[size - 1];

	}

	void Destroy()
	{
		free(a);
		a = nullptr;
		size = capacity = 0;
	}

	DataType* a;
	int capacity;
	int size;
};

上面的结构体定义,C++中更喜欢用 class来替代


三:类的定义

class classname
{
    //类体:由成员函数和成员变量组成

};//注意后面的分号

 class是定义类的关键词,classname是类的名字,{}中为类的主体,注意类定义结束时后面的分号不能省略

类体中内容被称为类的成员:类中的变量称为类的属性或者成员变量类的函数称为类的方法或者成员函数

3.1类的两种定义方式

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖剹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值