菜鸟的博客

纵有疾风起,人生不言弃。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

2023.4.27

复制代码
 1 //实验六任务2
 2 //定义猫科动物Animal类,由其派生出猫类(Cat)和豹类(Leopard),
 3 //在Animal类中定义虚函数,输出“My name is Animal”,在派生类中
 4 //分别重新定义该函数,显示“My name is  **”,其中**为各自类名
 5 #include <iostream>
 6 #include <string>
 7 using namespace std;
 8 class Animal
 9 {
10 public:
11     virtual void name()
12     {
13         cout<<"My name is Animal"<<endl;
14     }
15 };
16 class Cat:public Animal
17 {
18 public:
19     void name()
20     {
21         cout<<"My name is Cat"<<endl;
22     }
23 };
24 class Leopard:public Animal
25 {
26 public:
27     void name()
28     {
29         cout<<"My name is Leopard"<<endl;
30     }
31 };
32 void test()
33 {
34     Cat c;
35     Leopard l;
36     c.name();
37     l.name();
38 }
39 int main()
40 {
41     test();
42     return 0; 
43 }
复制代码

 

复制代码
 1 //实验六任务4
 2 #include <iostream>
 3 #include <string>
 4 using namespace std;
 5 class Shape
 6 {
 7     virtual void setvalues() = 0;
 8     virtual void floatarea() = 0;
 9 };
10 class rectangle:public Shape
11 {
12 public:
13     void setvalues()
14     {
15         cout<<"请输入矩形的底和高:"<<endl;
16         cin>>x>>y;
17     }
18     void floatarea()
19     {
20         cout<<"矩形的面积为:"<<x*y<<endl;
21     }
22     float x;
23     float y;
24 };
25 class arctangle:public Shape
26 {
27 public:
28     void setvalues()
29     {
30         cout<<"请输入三角形的底和高:"<<endl;
31         cin>>x>>y;
32     }
33     void floatarea()
34     {
35         cout<<"三角形的面积为:"<<x*y/2<<endl;
36     }
37     float x;
38     float y;
39 };
40 class square:public Shape
41 {
42 public:
43     void setvalues()
44     {
45         cout<<"请输入正方形的边长:"<<endl;
46         cin>>x;
47     }
48     void floatarea()
49     {
50         cout<<"正方形的面积为:"<<x*x<<endl;
51     }
52     float x;
53 };
54 class circle:public Shape
55 {
56 public:
57     void setvalues()
58     {
59         cout<<"请输入圆形的半径:"<<endl;
60         cin>>r;
61     }
62     void floatarea()
63     {
64         cout<<"圆形的面积为:"<<3.1415*r*r<<endl;
65     }
66     float r;
67 };
68 void test()
69 {
70     rectangle r;
71     arctangle a;
72     square s;
73     circle c;
74     r.setvalues();
75     a.setvalues();
76     s.setvalues();
77     c.setvalues();
78     if(r.x<=0||r.y<=0||a.x<=0||a.y<=0||s.x<=0||c.r<=0)
79     {
80         cout<<"Set Value Error!"<<endl;
81         exit(0);
82     }
83     r.floatarea();
84     a.floatarea();
85     s.floatarea();
86     c.floatarea();
87 }
88 int main()
89 {
90     test();
91     return 0;
92 }
复制代码

 

posted on   hhmzd233  阅读(14)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示