编写一个有关股票的程序,其中有两个类:一个是深圳类shen_stock,另一个是上海类shang_stock。类中有三项私有数据成员:普通股票个数general、ST股票个数st和PT股票个数pt,每

编写一个有关股票的程序,其中有两个类:一个是深圳类shen_stock,另一个是上海类shang_stock。类中有三项私有数据成员普通股票个数general、ST股票个数st和PT股票个数pt,每一个类分别有自己的友元函数来计算并显示深圳或上海的股票总数(三项的和)。两个类还共用一个count(),用来计算深圳和上海总共有多少股票并输出。

要求使用多文件编程。

已知测试程序如下:

int main()

{ shang_stock shanghai(1600,20,10);   // 建立对象

        // 表示上海有1600支普通股票,20支ST股票, 10支PT股票

shen_stock shenzhen(1500,15,8);     // 建立对象

        // 表示深圳有1500支普通股票,15支ST股票,8支PT股票

  shang_count(shanghai);              // 计算上海的股票总数

  shen_count(shenzhen);               // 计算深圳的股票总数

  count(shanghai,shenzhen);         // 计算上海和深圳的股票总数

  return 0;

}

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
#include "shang_stock.h"
#include "shen_stock.h"
using namespace std;
// ============================第8题=========================


int count(const shen_stock& S1, const shang_stock& S2)
{

	return sum_shen_stock(S1) + sum_shang_stock(S2);
}

int main()
{
	shang_stock shang(80, 50, 60);
	shen_stock shen(20, 50, 40);
	cout <<"sum_shang_stock:" << sum_shang_stock(shang) << endl;;
	cout<<"sum_shen_stock:"<< sum_shen_stock(shen)<<endl;
	cout<<"count" << count(shen, shang)<<endl;


}

头文件

#pragma once
class shang_stock
{
public:
	shang_stock();
	shang_stock(int g, int s, int p);
	~shang_stock();


private:
	int general;
	int st;
	int pt;
	friend int sum_shang_stock(const shang_stock& S);

};

头文件

#pragma once
class shen_stock
{
public:
	shen_stock();
	~shen_stock();
	shen_stock(int g, int s, int p);

private:
	int general;
	int st;
	int pt;
	friend int sum_shen_stock(const shen_stock& S);


};

源文件

#include "shang_stock.h"
shang_stock::shang_stock(int g, int s, int p)
{
	general = g;
	st = s;
	pt = p;
}

shang_stock::~shang_stock()
{
}

int sum_shang_stock(const shang_stock& S)
{
	return S.pt + S.st + S.general;
}

源文件

#include "shen_stock.h"
shen_stock::shen_stock()
{
}
shen_stock::shen_stock(int g, int s, int p)
{
	general = g;
	st = s;
	pt = p;
}
int sum_shen_stock(const shen_stock& S)
{
	return S.pt + S.st + S.general;
}

shen_stock::~shen_stock()
{
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值