论坛首页· 友情链接申请·申请版主· 广告投放· 道具中心· 设为首页· 收藏本站
 15 12
发新话题
打印

【C++】每日一题,做对加10—50学分

本主题由 Teenits 于 2008-6-9 17:57 设置高亮

【C++】每日一题,做对加10—50学分

每日一题,做对加10—50学分!

感谢【幻】(QQ:573886542) 提出此建议!

本贴由【C++各位版主】负责。

回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

出题者亦可得到相应的加分
欢迎大家参与!
回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

顶一下

TOP

第一题【10学分】

复制内容到剪贴板
代码:
请回答这段代码的运行结果:
#include <iostream.h>
class XBase
{
public:
    virtual void play()const
    {
        cout<<"base play"<<endl;
    }
};

class XWind:public XBase
{
public:
    void play()
    {
        cout<<"wind play"<<endl;
    }
};

class XBrass:public XWind
{
public:
    void play()
    {
        cout<<"brass play"<<endl;
    }
};

void Tune(XBase& b)
{
    b.play();
}


void main()
{
    XBase* base[] = {new XWind(),new XBrass()};
   
    for(int i = 0;i < 2;i++)
    {
        Tune(*base[i]);
    }
   
}
回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

呵呵。C++有了,我们Vb要吗?
每个人都有自己的优点,成功的人扬长避短,失败的人"不识庐山真面目,只缘生在此山中"!

TOP

代码有错误错误,怎么说出结果!!:012

TOP

引用:
原帖由 fcstom 于 2008-6-7 16:48 发表
代码有错误错误,怎么说出结果!!:012
已更正,请勿在机器上运行
回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

base play
base play

白给的分怎么不要
本帖最近评分记录
  • Teenits 学分 +10 有请blastar给出问题的分析过程 2008-6-9 17:58

TOP

virtual void play()const
    {
        cout<<"base play"<<endl;
    }
你在基类里面加了const,子类里面没有const,也就是说它们是完全不同的函数,没有发生重载,因此后面引用的时候,就应用不到多态性规则。
要是在基类里面重载一个:
    virtual void play()
    {
        cout<<"no const base play"<<endl;
    }
结果就不一样了。

TOP

源码出了问题,求高手赐教

#include<stdio.h>
#include<stdlib.h>
#define  N  20


struct student
{
        char  num[8];
        char  name[10];
        int   score[7];
        float  avg[6];
        int  sum[6];
}stu[20];

void main()
{

        printf("         学生成绩管理系统\n");
        printf("          1.修改成绩\n");
        printf("          2.统计成绩           \n");
        printf("          3.查询成绩            \n");
        printf("          4.输出成绩单           \n");
        printf("\n");
        printf("please input you choice:\n");
        char a;
        scanf("%c",&a);
        switch(char a)
        {
        case '1':printf("修改学生的成绩\n");break;
        case '2':printf("统计学生的成绩\n");break;
        case '3':printf("查询学生的成绩\n");break;
        case '4':printf("按班级输出成绩单\n");break;
        default :printf("不执行任何操作\n");
       
        }
        getchar();
       

}

我想
输入1就显示修改学生的成绩
输入2就统计学生的成绩等
该如何修改

TOP

 15 12
发新话题