软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2015年上半年程序员考试下午真题试题(案例分析)
考试中心《2015年上半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2015年上半年
试题题型【分析简答题】
试题内容

阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
设计 RGB 方式表示颜色的调色板,进行绘图,其类图如图 5-1 所示。该程序的 C++代码附后。

图5-1  类图
【C++代码】
#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace  std;
class MyColor{
private:
     int red; int green;  int blue;
public:
     MyColor() {red =  0;  green  =  0;  blue  =  0;   }
     ~MyColor() { }
     MyColor(int   red ,int  green ,int  blue)    {
     this->red = red;  this->green  = green;  this->blue = blue;}
//其他方法略
     void  print()   {
         cout<<"Red:  " << red <<  "\tGreen: " << green << "\tBlue " << blue
         <<  endl;
     }
};
class  Palette  {
private:
     int number; MyColor** palette;
public:
     Palette() {   number   =  256;   palette  =   (MyColor*)malloc
     (sizeof(MyColor*) *number);   }
   ~Palette () {
         for  (int i = 0;   i <  number;  i++) { delete palette[i];  }
                  (1)     ;
     }
     Palette(MyColor** pale ,int  number)   {
             (2)        = number;
         palette = (MyColor**)malloc(sizeof(MyColor*)*number) ;
         memcpy(palette ,pale ,sizeof(pale)*number);
     }
//其他方法略
    void  print ()    {
         for  (int i =  0;   i <  number;   i++) {
             cout <<  i <<  "  : " ;
             palette[i]->print();
         }
     }
};
class Drawing{
     public:
           (3)         int COLORNUMBER = 16;
     public:
         ~Drawing ()  {  }
         void  draw()   (
             Palette* palette;
             int red ,green ,blue;
             MyColor*   color[COLORNUMBER];
             srand((unsigned)time(O));
             for (int i = 0; i < COLORNUMBER;  i++)  {
                  red=rand ()% 256; green =  rand() % 256; blue = rand ()% 256;
                  color [i]  =      (4)    (red ,green ,blue);
             }
             palette = new Palette(color ,COLORNUMBER);
             palette->print();
             for  (int i =  0; i < COLORNUMBER;  i++)
                  delete color[i];
         }
     };
     int main   () {
         Drawing  * d  =   (5)   ;
         d->draw();
         delete  d;
}


相关试题

推荐文章
合作网站内容