重载与覆盖

重载与覆盖

成员函数被重载的特征:

(1)相同的范围(在同一个类中);

(2)函数名字相同;

(3)参数不同;

(4)virtual 关键字可有可无。

 

 覆盖是指派生类函数覆盖基类函数,特征是:

(1)不同的范围(分别位于派生类与基类);

(2)函数名字相同;

(3)参数相同;

(4)基类函数必须有 virtual 关键字。

 

复制代码
 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 int main(int argc, char** argv) {
 6     int i;
 7     //定义结构类型 
 8     struct student {
 9            int  num;
10            char  name[10];
11            float maths;
12            float physics;
13            float chemistry;
14            double  total;
15     };
16 
17      //声明结构数组st
18      student st[3];
19 
20      //从键盘上为结构数组输入值 
21      cout<<"    num  name     maths physics chemistry "<<endl;
22      for (i=0;i<3;i++)
23      {
24         cout<<i+1<<"   ";
25         cin>>st[i].num;
26         cin>>st[i].name;
27         cin>>st[i].maths;
28         cin>>st[i].physics;
29         cin>>st[i].chemistry;
30      }
31 
32     //计算每个学生的总成绩
33     for (i=0;i<3;i++)
34          st[i].total=st[i].maths+st[i].physics+st[i].chemistry;
35 
36     //输出结构数组各元素的值 
37     for (i=0;i<3;i++)
38     {
39         cout<<"st["<<i<<"]:   ";
40         cout<<st[i].num<<'\t';
41         cout<<st[i].name<<'\t';
42         cout<<st[i].maths<<'\t';
43         cout<<st[i].physics<<'\t';
44         cout<<st[i].chemistry<<'\t';
45         cout<<st[i].total<<endl;
46      }
47     return 0;
48 }
复制代码

 

posted @   borter  阅读(125)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
点击右上角即可分享
微信分享提示