#编写一个有关股票的程序,其中有两个类:一个是深圳类shen_stock,另一个是上海类shang_stock。类中有三项私有数据成员:普通股票个数general、ST股票个数st和PT股票个数pt,每一个类分别有自己的友元函数来计算并显示深圳或上海的股票总数(三项的和)。两个类还共用一个count(),用来计算深圳和上海总共有多少股票并输出。
## main.cpp
***
#include <iostream>
using namespace std;
#include"shang_stock.h"
#include"shen_stock.h"
int main()
{
shang_stock shanghai(1600,20,10);
shen_stock shenzhen(1500,15,8);
shang_count(shanghai);
shen_count(shenzhen);
count(shanghai,shenzhen);
return 0;
}
void shen_count(const shen_stock& s1)
{
cout<<"the sum stock of shen : "<<s1.general+s1.st+s1.pt<<endl;
}
void count(const shang_stock &s2,const shen_stock &s1)
{
cout<<"the stock of shen and shang : "<<s1.general+s1.st+s1.pt+s2.general+s2.st+s2.pt<<endl;
}
void shang_count(const shang_stock& s2)
{
cout<<"the sum stock of shang : "<<s2.general+s2.st+s2.pt<<endl;
}
*
## **Shang_stock.h**
*
#ifndef SHANG_STOCK_H
#define SHANG_STOCK_H
#include <iostream>
#include<shen_stock.h>
using namespace std;
class shen_stock;
class shang_stock
{
public:
shang_stock(int g,int s,int p);
friend void shang_count(const shang_stock &s2);
friend void count(const shang_stock &s2,const shen_stock &s1);
private:
int general;
int st;
int pt;
};
#endif // SHANG_STOCK_H
***
## Shen_stock.h
***
#ifndef SHEN_STOCK_H
#define SHEN_STOCK_H
#include <iostream>
#include<shang_stock.h>
using namespace std;
class shang_stock;
class shen_stock
{public:
shen_stock(int g,int s,int p);
friend void shen_count(const shen_stock &s1);
friend void count(const shang_stock &s2,const shen_stock &s1);
private:
int general;
int st;
int pt;
};
#endif // SHEN_STOCK_H
*
## shang_stock.cpp
*
#include "shang_stock.h"
#include <iostream>
using namespace std;
shang_stock::shang_stock(int g,int s,int p)
{
general=g;
st=s;
pt=p;
}
*
## shen_stock.cpp
*
#include "shen_stock.h"
#include "shang_stock.h"
#include <iostream>
using namespace std;
class shang_stock;
class shen_stock;
shen_stock::shen_stock(int g,int s,int p)
{
general=g;
st=s;
pt=p;
}
团子小代码,汝汝。