【面向对象】类和对象的基本概念

类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。下面来看一个股票的类。

首先,必须考虑如何表示股票。可以将一股作为基本单元,定义一个表示一股股票的类。然而,这意味着需要100个对象才能表示100股,这不现实。相反,可以将某人当前持有的某种股票作为一个基本单元,数据表示中包含他持有股票数量。一种比较现实的方法是,必须记录最初购买价格和购买日期(用于计算纳税)等内容。另外,还必须管理诸如拆股等事件。首次定义类就考虑这么多因素有些困难,因此我们对其进行简化。具体地说,应该将可执行的操作限制为:

获得股票;

增持;

卖出股票;

更新股票价格;

显示关于所有股票的信息。

可以根据上述清单定义stock类的公有接口(如果您有兴趣,还可以添加其他特性)。为支持该接口,需要存储一些信息。我们再次进行简化。例如,不考虑标准的美式股票计价方式。我们将存储下面的信息:

公司名称;

所持股票的数量;

每股的价格;

股票总值。

为帮助识别类,我们遵循一种常见但不通用的约定——将类名的首字母大写。类的声明如下程序清单所示:

#ifndef STOCK_H_
#define STOCK_H_

#include <iostream>
using namespace std; 

class Stock
{
	private:
		string company; 
		long shares; 
		double share_val; 
		double total_val; 
		void set_tot() { total_val = shares * share_val; }
		
	public:
		Stock(); 		// default constructor
		Stock(const string & co, long n = 0, double pr = 0.0); 
		~Stock(); 		// do-nothing destructor
		void buy(long num, double price); 
		void sell(long num, double price); 
		void update(double price); 
		void show() const; 
		const Stock & topval(const Stock & s) const; 
}; 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值