C++ 类和对象

06-30 1704阅读

一 面向对象和面向过程

1.1 面向过程编程:

面向过程编程是一种基于步骤和过程的编程方法,就像按照菜谱做饭一样。你需要一步一步地描述每个具体的操作。

例子:制作一杯咖啡

  1. 煮水。
  2. 把咖啡粉放入滤纸。
  3. 将热水倒在咖啡粉上。
  4. 等待咖啡滴入杯子。
  5. 加入糖和牛奶(如果需要)。
  6. 搅拌均匀。
  7. 咖啡做好了。

在这个例子中,每一步都是一个独立的过程,程序按照顺序一步一步地执行这些过程,最终完成目标。

1.2 面向对象编程:

面向对象编程是一种基于对象和类的编程方法,就像在一个咖啡店中制作咖啡一样。每一个对象都有自己的属性和行为,你可以通过这些对象来完成任务。

例子:咖啡店制作一杯咖啡

  1. 定义“咖啡机”对象:它可以煮水、过滤咖啡、加热牛奶等。
  2. 定义“咖啡杯”对象:它可以装咖啡、加入糖和牛奶、搅拌等。
  3. 创建一个“咖啡师”对象:他知道如何操作咖啡机和咖啡杯来制作咖啡。

在这个例子中,“咖啡机”、“咖啡杯”和“咖啡师”都是对象,每个对象都有特定的属性(如咖啡机的水温、咖啡杯的容量)和方法(如煮水、搅拌)。通过这些对象的交互,最终完成制作咖啡的任务。

1.3 总结

面向过程编程(POP):专注于过程和步骤,类似于按照菜谱做饭,每一步都是具体的指令。

面向对象编程(OOP):专注于对象和交互,类似于咖啡店中的角色分工,每个对象都有自己的职责,通过对象之间的协作来完成任务。

二 类

2.1 类的引入:

C语言的结构体和C++的类有些许相似但是它里面只能定义变量,在C++的类中不仅可以定义变量而且还可以定义函数在里面

C:

typedef struct Stack
{
	STDataType* a;
	int top;
	int capacity;
}ST;
void Init(int month , int year)
{
  ……
}

就比如这个用C语言写的栈,它里面就只能写变量名,函数其他的只能写在结构体外面然后我们再看用C++看它怎么写,看之前先得了解C++的定义

2.2 C++的定义:
class className// 类名
{
// 类体:由成员函数和成员变量组成
};  // 一定要注意后面的分号

C++:

#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 
#include 
using namespace std;
class Date
{
	void Init(int month, int date)
	{
        date = date;
		//_date = date;
	}
    int date;
    int month;
  
	//int _date;
	//int _month;
};
int main()
{
    Date myDate;
	myDate.Init(2, 3);
	return 0;
}

C++就把它们封装成一个类,但你们是不是发现了一个问题,我想给变量赋值时怎么参数名和变量名一模一样,这是什么鬼?其实这是为了代码的可读性和一致性并且我们一般在变量前面加"_"

输出:

C++ 类和对象

那为什么编译之后会显示找不到Init呢?我不是在类里面写了init嘛,原因就是class默认为private,struct为了兼容C才是public

那什么是private public呢?它就是我们接下来要讲的类的访问限定符及封装

三 类的访问限定符及封装

3.1 类的访问限定符:

C++实现封装的方式:用类将对象的属性与方法结合在一块,让对象更加完善,通过访问权限选择

性的将其接口提供给外部的用户使用

C++ 类和对象

 public:

当你希望某个类、属性或方法对所有其他代码可见时使用

例子:

#include 
using namespace std;
class Date
{
public:
	void Init(int month, int date)
	{
		_date = date;
		_month = month;
	}
	void sprint()
	{
		cout 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]