50_CaL 50_CaL
关注数: 2 粉丝数: 44 发帖数: 758 关注贴吧数: 65
C++ 面向对象的问题,进来帮忙解答一下吧:D 最近老师给了些面向对象的编程题目,我做完后老师说我的答案有一个经典的错误。我找了很久都找不出来,百思不得其解,麻烦各位指教一下。 这是题木: 描述这些雷设计的不合理之处,重新设计这些类 class Customer { public: int birthYear; bool isCurrentMember; int numberOfPurchases; Customer() { // Test data. birthYear = 1963; isCurrentMember = false; numberOfPurchases = 33; } voidDisplayDetails() { printf( "Birth Year: %ld\r\n",birthYear ); printf( "Current Member:%s\r\n", isCurrentMember ? "Yes" : "No" ); printf( "Number Of Purchases:%ld\r\n\r\n", numberOfPurchases ); } }; class Salesman { private: Customer bestCustomer; Customer worstCustomer; public: int id; Salesman( intinitialID ) { id = initialID; } Customer BestCustomer() { returnbestCustomer; } Customer* WorstCustomer() { return&worstCustomer; } }; class SalesTeam { public: Salesman salesman1; Salesman salesman2; SalesTeam() : salesman1(1000), salesman2(1001) {} voidDisplayTeam() { printf( "Salesman 1: %ld\r\n",salesman1.id ); printf( "Salesman 2: %ld\r\n",salesman2.id ); } }; void TestSalesmanCustomers() { SalesTeam ourTeam; intmedianSales_1 = (ourTeam.salesman1.BestCustomer().numberOfPurchases +ourTeam.salesman1.WorstCustomer()->numberOfPurchases) / 2; intmedianSales_2 = (ourTeam.salesman2.BestCustomer().numberOfPurchases +ourTeam.salesman2.WorstCustomer()->numberOfPurchases) / 2; printf( "Salesman median sales =%ld\r\n", medianSales_1); printf( "Salesman median sales =%ld\r\n", medianSales_2); }
1 下一页