c++面向对象实例题集锦.docx
- 文档编号:28153425
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:57
- 大小:71.26KB
c++面向对象实例题集锦.docx
《c++面向对象实例题集锦.docx》由会员分享,可在线阅读,更多相关《c++面向对象实例题集锦.docx(57页珍藏版)》请在冰豆网上搜索。
c++面向对象实例题集锦
c++面向对象实例题集锦
C++面向对象实例:
C++面向对象类的实例题目二
题目描述:
编写一个程序,设计一个产品类Product,其定义如下:
[cpp]viewplaincopyprint?
1.class Product
2.{
3. public:
4. Product(char *n,int p,int q); //构造函数
5. ~Product(); //析构函数
6. void buy(int money); //购买产品
7. void get() const; //显示剩余产品数量
8. private:
9. char * name; //产品名称
10. int price; //产品单价
11. int quantity; //剩余产品数量
12.};
classProduct
{
public:
Product(char*n,intp,intq);//构造函数
~Product();//析构函数
voidbuy(intmoney);//购买产品
voidget()const;//显示剩余产品数量
private:
char*name;//产品名称
intprice;//产品单价
intquantity;//剩余产品数量
};
并用数据进行测试。
code:
[cpp]viewplaincopyprint?
1.#include
2.#include
3.using namespace std;
4.class Product
5.{
6. char *name;
7. int price;
8. int quantity;
9. public:
10. Product(char *n,int p,int q);
11. ~Product();
12. void buy(int money);
13. void get()const;
14.};
15.Product:
:
Product(char *n,int p,int q)
16.{
17. name = n;
18. price = p;
19. quantity = q;
20.}
21.Product:
:
~Product()
22.{
23.}
24.void Product:
:
buy(int money)
25.{
26. int r,n;
27. n = money/price;
28. r = money%price;
29. if(n > quantity)
30. {
31. cout<<"数量不够"< 32. } 33. else 34. { 35. quantity -= n; 36. cout<<"名称: "< "< 37. cout<<"顾客使用"< 38. } 39.} 40.void Product: : get()const 41.{ 42. cout<<"产品: "< "< "< 43.} 44.int main() 45.{ 46. Product p("Iphone6",100,20); 47. p.buy(10); 48. p.get(); 49. cout<<"\n==========================\n"< 50. p.buy(1000); 51. p.get(); 52. return 0; 53.} #include #include usingnamespacestd; classProduct { char*name; intprice; intquantity; public: Product(char*n,intp,intq); ~Product(); voidbuy(intmoney); voidget()const; }; Product: : Product(char*n,intp,intq) { name=n; price=p; quantity=q; } Product: : ~Product() { } voidProduct: : buy(intmoney) { intr,n; n=money/price; r=money%price; if(n>quantity) { cout<<"数量不够"< } else { quantity-=n; cout<<"名称: "< "< cout<<"顾客使用"< } } voidProduct: : get()const { cout<<"产品: "< "< "< } intmain() { Productp("Iphone6",100,20); p.buy(10); p.get(); cout<<"\n==========================\n"< p.buy(1000); p.get(); return0; } 输出: C++面向对象类的实例题目三 编写一个程序,设计一个满足如下要求的CData类。 (1)用下面的格式输出日期: 日/月/年 (2)输出在当前日期上加一天后的日期 (3)设置日期 code: [cpp]viewplaincopyprint? 1.#include 2.using namespace std; 3.class CData 4.{ 5. public: 6. CData(int y,int m,int d); 7. void setdate(int y, int m, int d); 8. void display(); 9. void add(); 10. private: 11. int day; 12. int month; 13. int year; 14.}; 15.CData: : CData(int y,int m,int d) 16.{ 17. day = d; 18. month = m; 19. year = y; 20.} 21.void CData: : setdate(int y,int m,int d) 22.{ 23. day = d; 24. month = m; 25. year = y; 26.} 27.void CData: : display() 28.{ 29. cout< 30.} 31.void CData: : add() 32.{ 33. int a[2][12]={ 34. {31,28,31,30,31,30,31,31,30,31,30,31}, 35. {31,29,31,30,31,30,31,31,30,31,30,31} 36. }; 37. if((year%400 == 0)||(year%100 ! =0 && year%4 ==0))//闰年的情况 38. { 39. if(a[1][month-1]>day)day++; 40. else 41. { 42. month++; 43. if(month>12) 44. { 45. year++; 46. month = 1; 47. } 48. day = 1; 49. } 50. } 51. else //平年的情况 52. { 53. if(a[0][month-1]>day)day++; 54. else 55. { 56. month++; 57. if(month>12) 58. { 59. year++; 60. month = 1; 61. } 62. day = 1; 63. } 64. } 65.} 66.int main() 67.{ 68. CData date(2013,12,31); 69. date.display(); 70. date.add(); 71. date.display(); 72. date.setdate(2014,11,11); 73. date.display(); 74. date.add(); 75. date.display(); 76. return 0; 77.} #include usingnamespacestd; classCData { public: CData(inty,intm,intd); voidsetdate(inty,intm,intd); voiddisplay(); voidadd(); private: intday; intmonth; intyear; }; CData: : CData(inty,intm,intd) { day=d; month=m; year=y; } voidCData: : setdate(inty,intm,intd) { day=d; month=m; year=y; } voidCData: : display() { cout< } voidCData: : add() { inta[2][12]={ {31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31} }; if((year%400==0)||(year%100! =0&&year%4==0))//闰年的情况 { if(a[1][month-1]>day)day++; else { month++; if(month>12) { year++; month=1; } day=1; } } else//平年的情况 { if(a[0][month-1]>day)day++; else { month++; if(month>12) { year++; month=1; } day=1; } } } intmain() { CDatadate(2013,12,31); date.display(); date.add(); date.display(); date.setdate(2014,11,11); date.display(); date.add(); date.display(); return0; } 结果输出: [cpp]viewplaincopyprint? 1.31/12/2013 2.1/1/2014 3.11/11/2014 4.12/11/2014 C++面向对象类的实例题目四 题目描述: 以面向对象的概念设计一个类,此类包含3个私有数据: unlead、lead(无铅汽油和有铅汽油)以及total(当天总收入,无铅汽油的价格是17元/升,有铅汽油的加个是16元/升),请以构造函数方式建立此值。 试输入某天所加的汽油量,本程序将列出加油当天的总收入。 程序代码: [cpp]viewplaincopyprint? 1.#include 2.using namespace std; 3.class Gas 4.{ 5. public: 6. Gas(double ulp,double lp) 7. { 8. unprice = ulp; 9. price = lp; 10. } 11. void show() 12. { 13. total = unlead*unprice + lead*price; 14. cout<<"无铅汽油的价格为17元/升,有铅汽油的价格为16元/升"< 15. cout<<"total: "< 16. } 17. void getdata() 18. { 19. cout<<"请输入当天无铅汽油的总量: "; 20. cin>>unlead; 21. cout<<"请输入当天有铅汽油的总量: "; 22. cin>>lead; 23. } 24. private: 25. double unprice; 26. double price; 27. double lead; 28. double unlead; 29. double total; 30.}; 31.int main() 32.{ 33. Gas g1(17,16); 34. g1.getdata(); 35. g1.show(); 36. return 0; 37.} #include usingnamespacestd; classGas { public: Gas(doubleulp,doublelp) { unprice=ulp; price=lp; } voidshow() { total=unlead*unprice+lead*price; cout<<"无铅汽油的价格为17元/升,有铅汽油的价格为16元/升"< cout<<"total: "< } voidgetdata() { cout<<"请输入当天无铅汽油的总量: "; cin>>unlead; cout<<"请输入当天有铅汽油的总量: "; cin>>lead; } private: doubleunprice; doubleprice; doublelead; doubleunlead; doubletotal; }; intmain() { Gasg1(17,16); g1.getdata(); g1.show(); return0; } 程序输出: [cpp]viewplaincopyprint? 1.请输入当天无铅汽油的总量: 10 2.请输入当天有铅汽油的总量: 20 3.无铅汽油的价格为17元/升,有铅汽油的价格为16元/升 4.total: 490 C++面向对象类的实例题目五 题目描述: 编写一个程序,采用一个类求n! ,并输出5! 的值。 程序代码: [cpp]viewplaincopyprint? 1.#include 2.using namespace std; 3.class CFactorial 4.{ 5. public: 6. CFactorial(int n) 7. { 8. num = n; 9. total = 1; 10. } 11. void calculate() 12. { 13. int n = num; 14. while(n>0) 15. { 16. total *= n--; 17. } 18. } 19. void display() 20. { 21. cout< = "< 22. } 23. private: 24. int num; 25. long total; 26.}; 27.int main() 28.{ 29. CFactorial f(5); 30. f.calculate(); 31. f.display(); 32. return 0; 33.} 34. #include usingnamespacestd; classCFactorial { public: CFactorial(intn) { num=n; total=1; } voidcalculate() { intn=num; while(n>0) { total*=n--; } } voiddisplay() { cout< ="< } private: intnum; longtotal; }; intmain() { CFactorialf(5); f.calculate(); f.display(); return0; } 程序输出: [cpp]viewplaincopyprint? 1.5! = 120 C++面向对象类的实例题目六 问题描述: 编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数。 程序代码: [cpp]viewplaincopyprint? 1.#include 2.using namespace std; 3.class Rectangular 4.{ 5. public: 6. Rectangular(double w,double l) 7. { 8. width = w; 9. length = l; 10. } 11. double getc() 12. { 13. circumference = width + length; 14. return circumference; 15. } 16. double adddata(Rectangular &r) 17. { 18. return (circumference + r.getc()); 19. } 20. private: 21. doubl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 面向 对象 实例 集锦
![提示](https://static.bdocx.com/images/bang_tan.gif)