关于C++面向对象的理解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


面向对象的方法

首先就要对对象进行抽象,跟C中的结构体类似,在C++中也要新建一个类型,只不过C++中的类型叫做class,在类中,可以有成员变量,和成员函数。同时在类中还对成员的访问属性做了区分,有三种属性,public,protected,private。
和C语言不同的是,在类里面可写函数。
所以在使用C++的时候:
1、要做类的抽象,成员变量和成员函数;
2、实例化:所谓实例化,就是用定义的数据类型“类”来定义变量,定义出来的变量,就叫做对象;
3、面向对象的编程,加工的过程就是在处理一个一个类;面向过程加工的是一个一个的函数;
4、最后在测试程序。

特别的,要注意类的执行过程:类的执行过程不是将类的代码一步一步执行的,而是用的时候去调用需要的部分。同时类是一个数据类型,是一个固定大小的内存块的别名,定义一个类,是一个抽象的概念,不会给实际的分配内存,只有在用数据类型定义变量的时候才会分配内存。

要考虑的是,C++是如何区分不同的对象去调用了类中的方法。
class类是1个数据类型和n个对象的关系。那么要思考的是,C++编译器是如何处理多个对象调用类的成员函数的。

一、面向过程

	double r = 0;
	double s = 0;
	cout << "请输入圆的半径:";
	cin >> r;
	cout << "r的值是: " << r << endl;
	s=3.14*r*r;
	cout << "圆的面积是:" << s << endl;

二、面向对象

class Mycircle
{

public:
	double m_r;	//半径
	double m_s;	//面积
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()
{

	Mycircle c1, c2, c3;//用类定义对象
	double r1 = 0;
	double r2 = 0;
	cout<<"请输入第一个圆c1的半径:";
	cin >> r1;
		//给C1的半径赋值
	c1.setR(r1);
	cout << "c1的面积是:" << c1.getS() << endl;

	cout<<"请输入第二个圆c2的半径:";
	cin >> r2;
		//给C1的半径赋值
	c2.setR(r2);
	cout << "c2的面积是:" << c2.getS() << endl;

	system("pause");

}

总结

1、面向对象的方法,将数据和对数据的操作方法(函数),封装在一起,作为一个相互依存,不可分离的整体。
2、对同类型对象提出其公共属性,形成类。
3、类通过外部接口,与其他部分发生联系。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值