我正在编译这个头文件。我不明白为什么在 void 中它不会显示 getfunctions 中的值。从标题代码下面的示例中,我做得正确。
#ifndef STOCK_MARKET_CLASS
#define STOCK_MARKET_CLASS
// system defined preprocessor statement for cin/cout operations
#include <iostream >
// programmer defined preprocessor statement for setreal operation
#include "textlib.h"
// programmer defined preprocessor statement for String
#include "tstring.h"
class StockMarket
{
private:
String symbol; // identifies the company
double startingPrice; // starting price of the stock
double closingPrice; // closing price of the stock
public:
// Constructor initializes the attributes that are the symbol, the starting price of the stock, and
// the closing price of the stock.
StockMarket(String sym, double sPrice, double cPrice);
// Takes the closing price of the stock and subtracts the starting price of the stock. Returns the
// amount of change in the price of the stock.
// You might not have any arguments.
double change(double sPrice, double cPrice);
// Returns the symbol.
// You might not have any arguments.
String getSymbol(String sym);
// Returns the starting price of the stock.
// You might not have any arguments.
double getStartingPrice(double sPrice);
// Returns the closing price of the stock.
// You might not have any arguments.
double getClosingPrice(double cPrice);
// Outputs the following information that is listed below.
// Stock Information for IBM: <=== where IBM is the symbol
// Starting Price $XXX.XX
// Closing Price $XXX.XX
// -------------
// Difference $XXX.XX
// You might not have any arguments.
void writeStockInfo();
};
//**********************************************************************
// StockMarket Class Implementation
//**********************************************************************
// Constructor is passed arguments sym, sPrice, and cPrice
// Implementation of the constructor
StockMarket::StockMarket(String sym, double sPrice, double cPrice)
{
symbol = sym;
startingPrice = sPrice;
closingPrice = cPrice;
}
// Function which takes the closing price of the stock and subtracts the starting price of the stock. Returns the
// amount of change in the price of the stock.
// Implementation of the function
// You might not have any arguments.
double StockMarket::change(double cPrice, double sPrice)
{
return double (cPrice) - double (sPrice);
}
// Function to return the symbol.
// Implementation of the function
// You might not have any arguments.
String StockMarket::getSymbol(String sym)
{
return sym;
}
// Function to return the starting price of the stock.
// Implementation of the function
// You might not have any arguments.
double StockMarket::getStartingPrice(double sPrice)
{
return sPrice;
}
// Function to return the closing price of the stock.
// Implementation of the function
// You might not have any arguments.
double StockMarket::getClosingPrice(double cPrice)
{
return cPrice;
}
// Function that outputs the following information that is listed below.
// Stock Information for IBM: <=== where IBM is the symbol
// Starting Price $XXX.XX
// Closing Price $XXX.XX
// -------------
// Difference $XXX.XX
// Implementation of the function
// You might not have any arguments.
void StockMarket::writeStockInfo()
{
cout << "Stock Information for"<< setw(4) << getSymbol() << ":" << endl;
}
#endif // STOCK_MARKET_CLASS
给我的例子
// return the player's batting average
double Baseball::getBatAvg ()
{
if (atbats == 0)
// average is 0.0 if player has no at bats
return 0.0;
else
// batting average is the number of hits
// divided by the number of at bats
return double(hits)/double(atbats);
}
// format and output batting statistics
void Baseball::writeBattingStats()
{
cout << "Player" << setw(3) << uniformNo
<< " At bats" << setw(4) << atbats
<< " Hits" << setw(4) << hits
<< " Average " << setreal(1,3) << getBatAvg()
<< endl;
}
这是我的 cpp 代码
#include "stdafx.h"
// system defined header file that declares the input/output operations (cin/cout)
#include <iostream>
using namespace std;
// system defined header file that declares parametric manipulators
#include <iomanip>
#include "Stock.h"
int main( )
{
StockMarket IBMStock("IBM", 150.00, 300.00);
IBMStock.writeStockInfo();
system("PAUSE");
return 0;
}