#includeusing namespace std; class tstudent { static float m_classmoney; public: tstudent(float n) { symoney = n; } void initstudent(char name[]) { name[0] = 'A'; name[1] = 'B'; name[2] = 'C'; } void expendmoney(float money) { symoney = sum-money; } float smoney() { return symoney; } void showmoney(tstudent ob) { ob.expendmoney(ob.smoney()); cout << "班费还剩余:" << ob.smoney() << endl; } private: float symoney; }; float tstudent::sum = 1000; int main() { tstudent A(50); A.showmoney(A); A.smoney(); tstudent B(98.5); A.showmoney(B); B.smoney(); tstudent C(500.53); A.showmoney(C); C.smoney(); return 0; }
本次上机实验是对c++类与对象的进一步认识,使用了定义静态成员和对象传递。对象传递有三种方法,分别是使用对象作为函数参数、使用对象指针作为函数参数和使用对象引用作为函数参数,这次上机使用了第一种方法。我在进行定义静态成员的时候,出现了显示静态函数成员没有被定义的错误提示,是由于一开始的理解错误把静态成员函数定义在了类的私有成员里,于是出现了定义与调用矛盾的现象。还有就是使用对象作为函数参数的方法,任何函数对对象的修改并不能影响函数本身,所以当需要对象改变的时候,可以用其余两种方法,以达到“实时”的效果。



