Ex4_1_1.cpp
上传用户:wuzhousb
上传日期:2022-07-12
资源大小:380k
文件大小:2k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //【例4.1_1】完整商品类对象应用实例。
  2. #include<iostream>
  3. #include<iomanip>
  4. #include<cstring>
  5. using namespace std;
  6. class CGoods{
  7. private :
  8. char  Name[21] ;
  9. int   Amount ;
  10. float  Price ;
  11. float     Total_value ;
  12. public :
  13. CGoods();
  14. CGoods(char [],int,float);
  15. CGoods(char [],float);
  16. void  RegisterGoods(char[],int,float) ;
  17. void  CountTotal(void) ;
  18. void  GetName(char[]) ;
  19. int  GetAmount(void) ;
  20. float  GetPrice(void) ;
  21. float  GetTotal_value(void) ;
  22. };
  23. CGoods::CGoods(){
  24. Name[0]='' ; Price=0.0 ;
  25. Amount=0 ; Total_value=0.0 ;
  26. }
  27. CGoods::CGoods(char name[] , int amount , float price){
  28. strcpy(Name,name) ; Price=price ;
  29. Amount=amount ; Total_value=price*amount ;
  30. }
  31. CGoods::CGoods(char name[] , float price){
  32. strcpy(Name,name) ; Price=price ;
  33. Amount=0 ; Total_value=0.0 ;
  34. }
  35. void CGoods::RegisterGoods(char name[] , int amount , float price){
  36. strcpy(Name , name) ;//字符串拷贝函数
  37. Amount=amount ; Price=price ;
  38. }
  39. void CGoods::CountTotal(void){
  40. Total_value = Price*Amount;
  41. }
  42. void CGoods::GetName(char name[]){
  43. strcpy(name , Name);
  44. }
  45. int  CGoods::GetAmount(void){
  46. return(Amount) ;
  47. }
  48. float CGoods::GetPrice(void){
  49. return(Price) ;
  50. }
  51. float CGoods::GetTotal_value(void){
  52. return(Total_value) ;
  53. }
  54. int main( ){
  55. char string[21]={''};
  56. CGoods Car1("夏利2000",30,98000.0);
  57. CGoods Car2("桑塔那2000",164000.0);
  58. Car1.GetName(string); //string赋值car.Name
  59. cout<<setw(20)<<string<<setw(5)<< Car1.GetAmount();
  60. cout<<setw(10)<<Car1.GetPrice()<<setw(20)<< Car1.GetTotal_value()<<endl;
  61. Car2.GetName(string); //string赋值car.Name
  62. cout<<setw(20)<<string<<setw(5)<< Car2.GetAmount();
  63. cout<<setw(10)<<Car2.GetPrice()<<setw(20)<< Car2.GetTotal_value()<<endl;
  64. return 0;
  65. }