C++类的封装

C++类的封装,第1张

1、认识C++:

       1.C++是一种面向对象的计算机程序设计语言,作为C语言的继承,C++不仅能进行C语言的过程化程序设计,而且可进行以抽象数据类型为特点的基于对象的程序设计,还能进行基于过程的程序设计;

       2.C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它的设计风格支 持数据抽象、面向对象程序设计、过程化程序设计、泛型程序设计等。

1.1、C++工作原理:

       1. C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

       2. 生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。

    (1)第一步是对程序进行编译,这需要用到编译器。编译器将C++语句转换成机器码。

    (2)是对程序进行链接,这需要用到链接器。链接器将编译获得机器码与C++库中的代码进行合并。

    注意:C++库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。例如,一个C++库中包含标准的平方根函数sqrt,所以不必亲自计算平方根。C++库中还包含一些子程序,它们把数据发送到显示器,并知道如何读写硬盘上的数据文件。

2、C++跟C的关系:
  1. c++是c的增强版,是几乎完全兼容c的;
  2. C++在c的基础上增加了很多新的内容;
  3. 编程思想发生了转变,c更多的是面向过程,c++是面向过程+面向对象,面向对象是通过面向过程来实现的。
3、类和封装:

类:描述一类事物的属性和行为的自定义的数据类型。

注意:结构体的默认的访问限定符是public,而类是private。

封装:把一类事物的属性和行为用类这种自定义的数据类型包起来,把需要隐藏的隐藏起来,把可以暴露的暴露出来,这就叫封装。

三种访问限定符:

4、类封装的实例如下:
#include 
using namespace std;
#include 
#include 

//属性:品牌、价格、颜色、水位、湿度、模式 (私有)
//行为:开机、开始、暂停、关机、模式选择 (公有) 
class Humidifier
{
public:
	Humidifier()
	{
		cout << "构造函数" << endl;
	}
	Humidifier(string _brand, int _price, string _color)
	{
		brand = _brand;
		price = _price;
		color = _color;
		cout << "TeaKettle(string,int,string)" << endl;
	}
	void turnOn()
	{
		cout << "加湿器已开启" << endl;
		cout << "请输入当前湿度" << endl;
		cin >> humidifier;
	}
	void turnOff()
	{
		cout << "加湿器关闭" << endl;
	}
	void start()
	{
		cout << "湿度: " << humidifier << endl;
		cout << "模式: " << pattern << endl;
		cout << "<开始加湿>" << endl;
		while (1)
		{
			if (30 < humidifier&&humidifier < 60)
			{
				turnOff();
				cout << "保湿状态" << endl;
				break;
			}
			else if (humidifier < 30)
			{
				cout << "开始加湿" << endl;
				while (humidifier < 31)
				{
					cout << "当前湿度为" << humidifier << endl;
					Sleep(1000);
					humidifier++;
				}
				break;
			}
		}
	}
	void pause()
	{
		cout << "停止工作" << endl;
	}
	void choisemoden()
	{
		cout << "1.加湿 2.保温" << endl;
		int op;
		cin >> op;
		switch (op)
		{
		case 1:
			pattern = "加湿";
			humidifier < 30;
			break;
		case 2:
			pattern = "保温";
			30 < humidifier < 60;
			break;
		}
	}
	void HumidifierShow()
	{
		cout << "品牌" << brand << endl;
		cout << "价格" << price << endl;
		cout << "颜色" << color << endl;
	}
	void setBrand(string _brand)
	{
		brand = _brand;
	}
	void setPrice(int _price)
	{
		price = _price;
	}
	void setColor(string _color)
	{
		color = _color;
	}
	~Humidifier()
	{
		cout << "Humidifier()" << endl;
	}

private:
	string brand;
	int price;
	string color;
	int humidifier;
	string pattern;
};
int main()
{
	Humidifier *p = new Humidifier;
	p->setBrand("海尔");
	p->setPrice(800);
	p->setColor("白色");
	p->turnOn();
	p->choisemoden();
	p->start();
	p->HumidifierShow();
	delete p;
	return 0;
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/2889451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-14
下一篇 2022-09-14

发表评论

登录后才能评论

评论列表(0条)

保存