本文共 1620 字,大约阅读时间需要 5 分钟。
1. SpreadsheetCell.h
#pragma once#includeclass SpreadsheetCell{public: void setValue(double inValue); double getValue() const; void setString(const std::string& inString); const std::string& getString() const;private: std::string doubleToString(double inValue) const; double stringToDouble(const std::string& inString) const; double mValue; std::string mString;};
2. SpreadsheetCell.cpp
#include "SpreadsheetCell.h"#include#include using namespace std;void SpreadsheetCell::setValue(double inValue){ mValue = inValue; mString = doubleToString(mValue);}double SpreadsheetCell::getValue() const{ return mValue;}void SpreadsheetCell::setString(const string& inString){ mString = inString; mValue = stringToDouble(mString);}const string& SpreadsheetCell::getString() const{ return mString;}string SpreadsheetCell::doubleToString(double inValue) const{ ostringstream ostr; ostr << inValue; return ostr.str();}double SpreadsheetCell::stringToDouble(const string& inString) const{ double temp; istringstream istr(inString); istr >> temp; if (istr.fail() || !istr.eof()) { return 0; } return temp;}
3. SpreadSheetCellInStackTest.cpp
(在堆栈中创建并使用对象)
#include#include "SpreadsheetCell.h"#include "SpreadSheetCellInStackTest.h"using namespace std;void SpreadSheetCellInStackTest::run(){ SpreadsheetCell myCell, anotherCell; myCell.setValue(6); anotherCell.setString("3.2"); cout << "cell 1: " << myCell.getValue() << endl; cout << "cell 2: " << anotherCell.getValue() << endl;}
转载地址:http://scwva.baihongyu.com/