C++入门笔记10 面向对象编程

思想

例子:如垒球队的一名新成员被要求记录球队的统计数据,用计算机来进行这项工作。

1.面向过程编程
我要输入每名选手的信息(姓名、击球次数、击中次数、命中率)以及其他重要的基本统计数据。之所以使用计算机,是为了简化工作,因此让它来计算某些数据。另外,我还希望程序能够显示这些结果。应如何组织呢?我想我能正确地完成这项工作,并使用了函数。是的,我让main( )调用一个函数来获取输入,调用另一个函数来进行计算,然后再调用第三个函数来显示结果。那么,获得下一场比赛的数据后,又该做什么呢?我不想再从头开始,可以添加一个函数来更新统计数据。可能需要在main( )中提供一个菜单,选择是输入、计算、更新还是显示数据。则如何表示这些数据呢?可以用一个字符串数组来存储选手的姓名,用另一个数组存储每一位选手的击球数,再用一个数组存储击中数目等等。这种方法太不灵活了,可以设计一个结构来存储每位选手的所有信息,然后用这种结构组成的数组来表示整个球队
总之,采用过程性编程方法时,首先考虑要遵循的步骤,然后考虑如何表示这些数据(并不需要程序一直运行,用户可能希望能够将数据存储在一个文件中,然后从这个文件中读取数据)。

2.面向对象编程
首先考虑数据——不仅要考虑如何表示数据,还要考虑如何使用数据:
我要跟踪的是什么?当然是选手。因此要有一个对象表示整个选手的各个方面(而不仅仅是命中率或击球次数)。是的,这将是基本数据单元——一个表示选手的姓名和统计数据的对象。我需要一些处理该对象的方法。首先需要一种将基本信息加入到该单元中的方法;其次,计算机应计算一些东西,如命中率,因此需要添加一些执行计算的方法程序应自动完成这些计算,而无需用户干涉。另外,还需要一些更新和显示信息的方法。所以,用户与数据交互的方式有三种:初始化、更新和报告——这就是用户接口。
总之,采用OOP方法时,首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。最后,使用新的设计方案创建出程序。

构造

关键字 class 类名 自己取(Team)

#include <iostream>
#include <string>
using namespace std;

class Team
{
public:
	int a;//成员变量
	void fun() //成员函数
	{
		cout << a << endl;
	}
private:
};


int main()
{
	Team mc;//创建类变量
	Team* mc2 = new Team;//创建类指针变量
	mc.a = 100;
	mc.fun();
	mc2->a = 120;//结构体中指针的调用
	mc2->fun();
	mc.fun();

	cout << &mc << endl;
	cout << &(*mc2) << endl;//输出显示两不同对象地址不同
	
	return 0;
}

mc2->a = 120; 结构体中指针的调用;
可知对象mc和mc2互不影响,mc的数据为mc的数据,mc2的数据为mc2的数据,但类都为Team
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值