English=englishInput; Programming=programmingInput; }
Score::Score(const Score& s) { Num=s.Num; Math=s.Math; English=s.English; Programming=s.Programming; Average=s.Average; }
/*main.cpp*/ #include\#include
void main() {
cout<<\调用普通的有参构造函数\ Score sc(\ sc.showscore();
cout<<\拷贝构造函数,使用sc1初始化sc2,将无参构造函数Score()的初始化输出。\
Score sc1;
Score sc2(sc1); sc2.showscore();
cout<<\调用普通的函数Inscore()。\ sc2.Inscore(); }
运行结果
实验总结
实验三 类与对象(二)
实验目的和要求:
1.掌握静态成员的定义与使用。
2.理解对象指针的概念,学会使用指针引用对象。 3.了解this指针的工作方式。
4.掌握静态数据成员和静态成员函数的基本使用方法。 5.理解友元与友元函数的作用,掌握其使用方法。 6. 掌握类的接口与实现的分离技术的使用。
预习内容:
指针引用对象;静态成员的定义与使用;友元的使用方法;
程序代码
/*Stock.h*/
#ifndef STOCK_H_ #define STOCK_H_
class Stock {
private: int num;
double HPrice; double LPrice; double OPrice; double CPrice; public:
static int stocks; Stock(int num = 0) {
this->num = num; stocks++; }
double getHPrice(void);
void setHPrice(double price);
double getLPrice(void);
void setLPrice(double price); double getOPrice(void);
void setOPrice(double price); double getCPrice(void);
void setCPrice(double price);
Stock& assign_stock(const Stock &other); friend bool isDown(const Stock& stock); }; #endif
/* Stock .cpp*/
#include
double Stock::getHPrice(void) {
return HPrice; }
void Stock::setHPrice(double price) {
HPrice = price; }
double Stock::getLPrice(void) {
return LPrice; }
void Stock::setLPrice(double price) {
LPrice = price; }
double Stock::getOPrice(void) {
return OPrice; }
void Stock::setOPrice(double price) {
OPrice = price; }
double Stock::getCPrice(void) {
return CPrice; }
void Stock::setCPrice(double price) {
CPrice = price; }
bool isDown(const Stock& stock) {
if(stock.OPrice-stock.CPrice<0) {
cout<<\ Today earned.\ return true; }else {
cout<<\ Lost today.\ return false; } }
Stock& Stock:: assign_stock(const Stock &other) {
if(this == &other) return *this; CPrice=other.CPrice; OPrice = other.OPrice; return *this; }
/*main.cpp*/
#include
int Stock::stocks = 0; void main() {
int num,fdOpenPrice,fdClosePrice,cPrice; Stock sk[5];
printf(\:\ cin>>fdOpenPrice;
sk[0].setOPrice(fdOpenPrice);
sk[0].getOPrice(); cout< cout<<\:\ cin>>fdClosePrice; sk[0].setCPrice(fdClosePrice); sk[0].getCPrice(); cout< for(num=1;num<=4;num++) { cout<<\:\ cout< sk[num].setOPrice(sk[num-1].getCPrice()); cout<<\:\ cin>>cPrice; sk[num].setCPrice(cPrice); isDown(sk[num]); cout< for(num=1;num<5;num++) { Stock sk1(sk[num]); cout<<\:\ cout< cout<<\ The number of objects currently Stock:\ } 实验总结