[传智播客]C++基础视频(深入浅出版)C++基础-用面向过程和面向对象方法求解圆形面积_类和对象的关系思考

一、用面向过程的方法求解圆形的面积
void main02()
{
	double	r = 0;
	double	s = 0;

	cout<<"请输入圆形的半径:";

	//cin 标准输入 代表键盘
	cin >> r;
	cout<<"r的值是:" << r <<endl;
	s = 3.14*r*r;
	cout<<"圆形的面积是s:" <<s << endl;
	system("pause");
}

二、用面向对象的方法求解圆形的面积
1、在C++中 定义了一个自定义数据类型

数据类型和类相似

struct Circle01
{
	double	m_s; //圆的面积
	double	m_r; //圆的半径
};
2、在C++中 定义了一个自定义数据类型 MyCicle 圆形
//类的抽象  成员变量和成员函数
class MyCicle
{
public:  
	double	m_s; //圆的面积 属性 成员变量
	double	m_r; //圆的半径

public:
	void setR(double r) //成员函数
	{
		m_r = r;
	}

	double getR() //成员函数
	{
		return m_r;
	}
	double getS()
	{
		m_s = 3.14*m_r*m_r;
		return m_s;
	}
};

//实例化 类的对象
void main()
{
	MyCicle		c1, c2, c3; //用类定义变量,就是类的对象
	double		r1, r2, r3;
	cout << "请输入c1圆形的半径:";
	cin >> r;

	//圆形1
	cout << "请输入c1圆形的半径r1:";
	cin >> r1;
	//给c1圆形的属性赋值
	c1.setR(r1);
	cout << "c1圆形的面积是:" << c1.getS()<<endl;

	//圆形2
	cout << "请输入c2圆形的半径r2:";
	cin >> r2;
	//给c1圆形的属性赋值
	c2.setR(r2);
	cout << "c2圆形的面积是:" << c2.getS()<<endl;


	system("pause");
}
3、类的调用过程分析

1、类代码不是一步一步指向,而是通过对象;
2、类是一个数据类型(固定大小内存块的别名);
3、定义一个类,是一个抽象的概念,不会分配内存,只有在用数据类型定义变量的时候,才会分配内存。

三、面向过程和面向对象两者的区别

面向过程加工的是一个一个的函数;
面向对象加工的是一个一个的类。

四、思考:

c++编译器是如何处理 多个对象,调用类的成员函数的;具体一点:如何区分是c1、c2还是c3 调用了getS呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值