C++类和对象(上)

1.什么是类

以c语言为类比,类就是结构体的升级版.

结构体仅可以写数据,但是类既可以写数据,又可以写多个函数

2.以Stack为案例大体解释"类"

class Stack//定义一个类型(名称)为Stack的类(类名可以代表类型)
{

	//成员变量,默认private
	int* array;
	size_t capacity;
	size_t top;
public:
	//成员函数
	void Init(int n=4)
	{
		array = (int*)malloc(n * sizeof(int*));
		if (array == nullptr)
		{
			perror("malloc fail");
			return;
		}
		capacity = n;
		top = 0;
	}

class是一个类的关键字

2.1有关类的三个访问权限


public:公有 protected(保护) private(私有)
如果不指定任何访问权限,一律默认为private
从此访问限定符开始,到下一个访问限定符结束,
为此访问限定符的生效范围
一般情况下,成员函数为public,成员变量为private

2.2如何使用类

int main()
{
	Stack st1;//定义了一个名为st1,类型为Stack的对象
	Stack st2;
	st2.Init();
	st2.Push(3);
	st2.Destroy();

	cout << st2.Top() << endl;
	return 0;
}

举个例子:类(Stack)相当一个建造房子的图纸,而对象st1,st2...相当于根据这个图纸建造出来的房子

2.2有关成员变量命前加"_"的命名方式

class Date
{
public:
	void Init(int  year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
		//有些公司会在成员变量前面或者后面加一个"_"(下划线)
	}
private:
	int _year;
	int _month;
	int _day;
};
int main()
{
	Date d;
	d.Init(2024, 3, 31);
	return 0;
}

为了区分成员变量和函数参数,加下划线一般就是成员变量

相关推荐

  1. C++——对象

    2024-04-07 14:42:05       23 阅读
  2. C++对象()

    2024-04-07 14:42:05       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-07 14:42:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-07 14:42:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-07 14:42:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-07 14:42:05       20 阅读

热门阅读

  1. Vscode已经安装imutils但是依旧报错

    2024-04-07 14:42:05       23 阅读
  2. 设计模式:生活中的观察者模式

    2024-04-07 14:42:05       18 阅读
  3. Spring相关实战

    2024-04-07 14:42:05       13 阅读
  4. Flutter Engine引擎概念

    2024-04-07 14:42:05       21 阅读
  5. HOW - 前端国际化之多语言通用方案

    2024-04-07 14:42:05       16 阅读
  6. 「 网络安全常用术语解读 」同源策略SOP详解

    2024-04-07 14:42:05       16 阅读
  7. Openstack(T)部署ceph集群 ceph-14.2.22-nautilus

    2024-04-07 14:42:05       10 阅读
  8. WPF中嵌入3D模型通用结构

    2024-04-07 14:42:05       10 阅读
  9. 【2023年软考架构师】案例真题回忆版

    2024-04-07 14:42:05       15 阅读
  10. vite配置postcss

    2024-04-07 14:42:05       14 阅读
  11. AI创业蓝海:十大领域解锁未来商机

    2024-04-07 14:42:05       12 阅读
  12. docker用来解决什么问题

    2024-04-07 14:42:05       16 阅读