// proj2.cpp #include#pragma warning (disable:4996) using namespace std; class Salary{ public: Salary(const char *id, double the_base, double the_bonus, double the_tax) // ERROR **********found********** : the_base(base), the_bonus(bonus), the_tax(tax) { staff_id=new char[strlen(id)+1]; strcpy(staff_id,id); } // ERROR **********found********** ~Salary(){ delete *staff_id; } double getGrossPay()const{ return base+bonus; } //返回应发项合计 double getNetPay()const{ return getGrossPay()-tax; } //返回实发工资额 private: char *staff_id; //职工号 double base; //基本工资 double bonus; //奖金 double tax; //代扣个人所得税 }; int main() { Salary pay("888888", 3000.0, 500.0, 67.50); cout<<"应发合计:"< 基本操作 答案
// proj2.cpp #include#pragma warning (disable:4996) using namespace std; class Salary{ public: Salary(const char *id, double the_base, double the_bonus, double the_tax) // ERROR **********found********** : base(the_base), bonus(the_bonus), tax(the_tax) { staff_id=new char[strlen(id)+1]; strcpy(staff_id,id); } // ERROR **********found********** ~Salary(){ delete staff_id; } double getGrossPay()const{ return base+bonus; } //返回应发项合计 double getNetPay()const{ return getGrossPay()-tax; } //返回实发工资额 private: char *staff_id; //职工号 double base; //基本工资 double bonus; //奖金 double tax; //代扣个人所得税 }; int main() { Salary pay("888888", 3000.0, 500.0, 67.50); cout<<"应发合计:"< 简单应用 原题 // proj2.cpp #include简单应用 答案using namespace std; class Array { public: Array(int size) // 构造函数 { //**********found********** _p = __________; _size = size; } ~Array() { delete [] _p; } // 析构函数 void SetValue(int index, int value) // 设置指定元素的值 { if ( IsOutOfRange(index) ) { cerr << "Index out of range!" << endl; return; } //**********found********** __________; } int GetValue(int index) const // 获取指定元素的值 { if ( IsOutOfRange(index) ) { cerr << "Index out of range!" << endl; return -1; } //**********found********** __________; } int GetLength() const { return _size; } // 获取元素个数 private: int *_p; int _size; bool IsOutOfRange(int index) const // 检查索引是否越界 { //**********found********** if (index < 0 || __________) return true; else return false; } }; int main() { Array a(10); for (int i = 0; i < a.GetLength(); i++) a.SetValue(i, i+1); for (int j = 0; j < a.GetLength()-1; j++) cout << a.GetValue(j) << ", "; cout << a.GetValue(a.GetLength()-1) << endl; return 0; } // proj2.cpp #include综合应用 原题using namespace std; class Array { public: Array(int size) // 构造函数 { //**********found********** _p = new int[size]; _size = size; } ~Array() { delete [] _p; } // 析构函数 void SetValue(int index, int value) // 设置指定元素的值 { if ( IsOutOfRange(index) ) { cerr << "Index out of range!" << endl; return; } //**********found********** _p[index]=value; } int GetValue(int index) const // 获取指定元素的值 { if ( IsOutOfRange(index) ) { cerr << "Index out of range!" << endl; return -1; } //**********found********** return _p[index]; } int GetLength() const { return _size; } // 获取元素个数 private: int *_p; int _size; bool IsOutOfRange(int index) const // 检查索引是否越界 { //**********found********** if (index < 0 || index>=_size) return true; else return false; } }; int main() { Array a(10); for (int i = 0; i < a.GetLength(); i++) a.SetValue(i, i+1); for (int j = 0; j < a.GetLength()-1; j++) cout << a.GetValue(j) << ", "; cout << a.GetValue(a.GetLength()-1) << endl; return 0; } //main.cpp #include "Polynomial.h" int main(){ double p1[]={5.0, 3.4, -4.0, 8.0}, p2[]={0.0, -5.4, 0.0, 3.0, 2.0}; Polynomial poly1(p1, sizeof(p1)/sizeof(double)), poly2(p2, sizeof(p2)/sizeof(double)); cout<<"Value of p1 when x=2.5 : "<//Polynomial.cpp #include"Polynomial.h" double Polynomial::getValue(double x)const{ // 多项式的值value为各次项的累加和 double value=coef[0]; // 用value累计多项式的值,初值为常数项值 //********333******** //********666******** return value; }//Polynomial.h #include综合应用 答案#include using namespace std; class Polynomial{ //“多项式”类 public: Polynomial(double coef[], int num):coef(new double[num]),num_of_terms(num){ for(int i=0;i coef[i]=coef[i]; } ~Polynomial(){ delete[] coef; } //返回指定次数项的系数 double getCoefficient(int power)const{ return coef[power]; } //返回在x等于指定值时多项式的值 double getValue(double x)const; private: //系数数组,coef[0]为0次项(常数项)系数,coef[1]为1次项系数,coef[2]为2次项(平方项)系数,余类推。 double *coef; int num_of_terms; }; void writeToFile(string path); //Polynomial.cpp #include"Polynomial.h" double Polynomial::getValue(double x)const{ // 多项式的值value为各次项的累加和 double value=coef[0]; // 用value累计多项式的值,初值为常数项值 //********333******** for(int i=1;i



