题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-11-22 22:04:16

[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2。此工程定义了一个人员类Person,然后派生出学生类Student和教授类Professor。请在程序中的画线处填写适当的代码,然后删除横线,以实现上述定义。此程序的正确输出结果应为:
My name is Zhang.
my name is Wang and my G.P.A.is 3.88
My name is Li,I have 8 publications..
注意:只能在画线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动“//************found************”。
//源程序
#include <iostream>
using namespace std;
class Person
public:
//************found************
______name=NULL;
Person(char*s) name=new char[strlen(s)+1];strcpy(name,s);
~Person( ) if(name!=NULL) delete[]name;
//************found************
______Disp( ) cout<<"My name is"<<name<<"./n"; //声明虚函数
void setName(char*s) name=new char[strlen(s)+1];strcpy(name,s);
protected:
char*name:

class Student: public Person
public:
//************found************
Student(char*s,double g)______
void Disp( ) cout<<"my name is"<<name<<"and my G.P.A.is il<<gpa<<"./n";
private:

更多"请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj"的相关试题:

[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和Leaf是Component的公有派生类。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
Leaf Node
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“// ****found****”。
#include<iostream>
using namespace std;
class Component
public:
//声明纯虚函数print( )
//**********found**********
;
class Composite:public Component
public:
//**********found**********
void setChild(______)

m_child=child;

virtual void print( )const

m_child->print( );

private:
Component*m_child;
;
class Leaf:public Component
public:
virtual void print( )const

//**********found**********
______

;
int main( )

Leaf node;
Composite comp;
comp.setChild(&node);
Component*p=∁
p->print( );
return 0;

[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,此工程中含有一个源程序文件proj2.cpp。函数char * GetNum(char*src,char*buf)从src开始扫描下—个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。函数返回扫描的终止位置,如果返回NULL表示没有扫描到数字字符序列。
运行程序时,如果输入的一行字符序列是
ABC012XY2378MN274WS
则输出为:
Digit string 1 is 012
Digit string 2 is 378
Digit string 3 is 274
注意:只在横线处编写适当代码,不要删除或移动“//****found****”。
//proj2.cpp
#include <iostream>
using namespace std;
char*GetNum(char*src,char*buf)

while(*src!=’/0’)

if(isdigit(*src)break;

if (*src=="/0")
//********found********
______;
while(*src!=’/0’&& isdigit(*src)

//********found********
______;
buf++;
src++;

*buf=’/0’;
return src;

int main( )

char str[100l,digits[20];
cin.getline(str,100);
char*p=str;
int i=1;
while((p=GetNum(p,digits))!=NULL)

cout<<"Digit string "<<i<<"is "<<digits<<endl;
//********found********
______;<
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2。该工程中包含一个程序文件maln.cpp,其中有“书”类Book及其派生出的“教材”类TeachingMaterial的定义,还有主函数main的定义。请在程序中“//********found********”下的横线处填写适当的代码,然后删除横线,以实现上述类定义和函数定义。此程序的正确输出结果应为:
教材名:C++语言程序设计
页 数:299
作 者:张三
相关课程:面向对象的程序设计
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include <iostream>
using namespace std;
class Book //"书"类
char * title; //书名
int num_pages; //页数
char * writer; //作者姓名
public:
Book(const char * the_title,intpages,const char * the_writer):num_pages(pages)
title=new char[strlen(the_title)+1];
strcpy(title,the_title);
//**********found**********
______
strcpy(writer,the_writer);

~Book( )______
int numOfPages( )constreturn num_pages; //返回书的页数
const char * theTitle ( ) const return title; //返回书名
const char * theWriter ( ) const return writer; //返回作者名
;
class TeachingMaterial:public Book
//“教材”类
char * course;
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,请将堆栈类的定义补充完整。使程序的输出结果为:
The element of stack are:4 3 2 1
注意:请勿修改主函数main和其他函数中的任何内容,只在横线处编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include <iostream>
using namespace std;
const int Size=5;
class Stack;
class Item

public:
//**********found**********
Item(const int&val):______
//构造函数对item进行初始化
private:
int item;
Item* next;
friend class Stack;
;
class Stack

public:
Stack( ):top(NULL)
~Stack( );
int Pop( );
void Push(const int&);
private:
Item*top;
:
Stack::~Stack( )

Item*p=top,*q;
while(p!=NULL)

q=p->next;
//**********found**********
______;//释放p所指向的节点
p=q;


int Stack::Pop( )

Item* temp;
int ret;
//**********found**********
______;//使temp指向栈顶节点
ret=top->item;
top=top->next
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.cpp,其中包含测试类Shape、Point和Triangle的程序语句。请在程序中的横线处填写适当的代码并删除横线,以实现上述功能。此程序的正确输出结果应为:
此图形是一个抽象图形,周长=0,面积=0
此图形是一个三角形,周长=6.82843,面积=2
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//shape.h
class Shape
public:
virtual double perimeter( )const return 0; //返回形状的周长
virtual double area( )const return 0;) //返回形状的面积
virtual const char * name( )constreturn"抽象图形"; //返回形状的名称
;
class Point //表示平面坐标系中的点的类
double x;
double y;
public:
//**********found**********
Point (double x0, double y0):______//用x0、y0初始化数据成员X、Y
double getX( ) constreturn x;
double getY( ) constreturn y;
;
class Triangle:public Shape
//**********found**********
______;
//定义3个私有数据成员
public:
Triangle(Point p1,Point p2,Pointp3):point1(p1),point2(p2),point3(p3)
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2. cpp,其中定义了Stack类和ArrayStack类。
Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示:
公有成员函数 功能
push 入栈:在栈顶位置添加一个元素
pop 退栈:取出并返回栈顶元素
ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的入栈和退栈操作。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:
a, b, c
c, b, a
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//**** found ****”。
// proj2, cpp
#include < iostream >
using namespace std;
class Stack
public :
virtual void push(char c) = 0;
virtual char pop( ) = 0;
;
class ArrayStack : public Stack
char * p;
int maxSize ;
int top ;
public :
ArrayStack( int s)
top = 0;
maxSize = s;
//******** found ********
p =______;

~ ArrayStack ( )

//******** found ********
______;

void push(char c)

[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2。其中有向量基类VectorBase、向量类Vector和零向量类ZeroVector的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序正确输出结果应为:
(1,2,3,4,5)
(0,0,0,0,0,0)
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class VectorBase //向量基类,一个抽象类
int len;
public:
VectorBase(int len):len(len)
int length( )constreturn len;
//向量长度,即向量中元素的个数
virtual double getElement(int i)const=0;//取第i个元素的值
virtual double sum( )const=0;
//求所有元素的和
void show( )const//显示向量中所有元素
cout<<"(";
for(int i=0;i<length( )-1;i++)
cout<<getElement(i)<<",";
//********found********
cout<<______<<")"<<endl;//显示最后一个元素

;
class Vector:public VectorBase
//向量类
double*val;
public:
Vector(int len,double v[]=NULL):
VectorBase(len)
val=new double[len];
for(int i=0;i<len;i++)val[i]=(v==NuLL0.0:v[i]);

//********found********
~Vector( )______
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matnx和单位阵UnitMatrix的定义,还有mam函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
//矩阵基础类,一个抽象类
class MatrixBase
int rows,cols;
public:
MatrixBase(int rows,int cols):rows(rows),cols(cols)
int getRows( )constreturn rows;
//矩阵行数
int gatCols( )constreturn cols;
//矩阵列数
virtual double getElement(int r,int c)const=0;//取第i个元素的值
void show( ) const
//分行显示矩阵中所有元素
for(int i=0;i<rows;i++)
cout<<endl;
for(int j=0;j<cols;j++)
//**********found**********
COUt<<______<<" ";


;
//矩阵类
class Matrix:public MatrixBase
double*val;
public:
//**********found**********
Matrix(i
[简答题]请使用VC6或使用[答题] 菜单打开考生文件夹proj2下的工程proj2。此工程中包含一个源程序文件main. cpp,其中有“房间”类Room及其派生出的“办公室”类Office的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
办公室房间号:308
办公室长度:5.6
办公室宽度:4.8
办公室面积:26.88
办公室所属部门:会计科
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class Room //"房间"
int room_no; //房间号
double length; //房间长度(m)
double width; //房间宽度(m)
public :
Room( int the_room_no, double the length, double the_width ) : roomno (the_room_no) , length ( the_length) , width ( the_width )
int theRoomNo( ) const return roomno ;
//返回房间号
double theLength( )const return length; //返回房间长度
double theWidth( )const return width; //返回房间宽度
//********** found **********
double theArea ( ) const ______ //返回房间面积(矩形面积)
;
class Office: public Room //"办公室"类
char * depart; //所属部门
public :
Office(int the_r
[多项选择]请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2。此工程包含程序文件main.cpp,其中有类AutoMobile(“汽车”)及其派生类Car(“小轿车”)、Truck(“卡车”)的定义,还有主函数main的定义。请在程序中//************found************下的画线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:
车牌号:冀ABC1234品牌ForLand类别:卡车当前档位:0最大载重量:1~
车牌号:冀ABC1234品牌ForLand类别:卡车当前档位:2最大载重量:1~
车牌号:沪XY25678品牌QQ类别:小轿车当前档位:0座位数:5
车牌号:沪XY25678品牌QQ类别:小轿车当前档位:-1座位数:5
注意:只能在画线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动
//************found************。
//源程序
#include<iostream>
#include <iomanip>
#include <cmath>
using namespace std;
class AutoMobile //"汽车"类
char*brand; //汽车品牌
char*number; //车牌号
int speed; //档位:1、2、3、4、5,空档:0,倒档:-1
public:
A. ~AutoMobile()delete[] brand; delete[] number;
[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,函数void Insert(node*q)使程序能够完成如下功能:从键盘输入一行字符,调用该函数建立反序的无头结点的单链表,然后输出整个链表。
注意:请勿修改主函数main和其他函数中的任何内容,只需在画线处编写适当代码,也不能删除或移动//************found************。
//源程序proj2.cpp
#include<iostream>
using namespace std;
struct node
char data;
node*link:
*head; //链表首指针
void Insert(node*q) //将节点插入链表首部
//************found************
______;
head=q;

int main( )
char ch;
node *p;
head=NULL:
cout<<"Please input the string"<<endl;
while((ch=cin.get( ))!=’/n’)
//************found************
______;//用new为节点p动态分配存储空间
p->data=ch;
//************found************
______; //在链表首部插入该节点

p=head;
while(p!=NULL)
cout<<p->data;
p=p->link;

cout<<endl;
return 0:

[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,其中包含抽象类Shape的声明,以及在此基础上派生出的类Rectangle和Circle的声明,二者分别是计算面积的函数GetArea( )和计算对象周长的函数GetPerim( )。程序中位于每个//************found************下的语句行有错,请加以改正。改正后程序的输出应该是:
The area of the Circle is 78.5
The perimeter of the Circle is 31.4
The area of the Rectangle is 24
The perimeter of the Rectangle is 20
注意:只能在画线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动“//************found************”。
//源程序
#include<iostream>
using namespace std;
class Shape
public:
Shape( )
~Shape( )
//************found************
______float GetArea( )=0;
//************found************
______float GetPerim( )=0;

class Circle: public Shape
public:
Circle(float radius):itsRadius(radius)
~Circle( )
float CetArea( ) return 3.14 *itsRadius *itsRadius;
float CetPerim( )return 6.28 *itsRadius;
private:
float itsRadius:

class Rectangle: public Shape
public:
//**
[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,其中声明了CDeep-Copy类,它是一个用于表示动态数组的类。请编写其中的复制构造函数。
要求:补充编制的内容写在//********333********与//********666********两行之间,不得修改程序的其他部分。
注意:程序最后已经将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//源程序
#include"CDeepCopy.h"
CDeepCopy::~CDeepCopy( )delete[]p;
CDeepCopy::CDeepCopy(int k)n=k; p=new int[n]; //构造函数实现
CDeepCopy::CDeepCopy(const CDeepCopy&r) //复制构造函数
//********333********
//********666********

int main( )
CDeepCopy a(2),d(3);
a.p[0]=1; d.p[0]=666; //对象a、d数组元素的赋值

CDeepCopy b(a);
a.p[0]=88;
cout<<b.p[0]; //显示内层局部对象的数组元素

cout<<d.[0]; //显示d数组元素a.[0]的值
cout<<"d fade away; /n";cout<<a.p[0]; //显示a数组元素a.p[0]的值
//writeToFile("K://bl0//61000101//");
return 0:

[简答题]请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2。其中有向量基类VectorBase、向量类Vector和零向量类ZeroVector的定义。请在程序中的画线处填写适当代码,然后删除横线,以实现上述定义。此程序的正确输出结果应为:
(1,2,3,4,5)
(0,0,0,0,0,0)
注意:只能在画线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动//************found************。
//源程序
#include<iostream>
using namespace std;
class VectorBase //向量基类,一个抽象类
int len,
public:
VectorBase(int len): len(len)
int length( ) const return len; //向量长度,即向量中元素的个数
virtual double getElement(int i) const=0; //取第i个元素的值
virtual double sum( ) const_0; //求所有元素的和
void show( ) const //显示向量中所有元素
cout<<"(";
for(int i=0;i<length( )-1;i++) cout<<getElement(i)<<",";
//************found************
cout<<________<<")"<<endl; //显示最后一个元素


class Vector: public VectorBase//向量类
double*val,
public:
Vector(int len, double v[]=NULL): VectorBase(len)
val=new double[len];
for(int i=0; i<len, i++) val[i]=(v==NULL0.0:v[i]);

//**********
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹projl下的工程proj1,其中有枚举DOGCOLOR、狗类Dog和主函数man的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
There is a white dog named Hoho.
There is a black dog named Haha.
There is a motley dog named Hihi.
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include <iostream>
using namespace std;
enum DOGCOLOR BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER;
class Dog //狗类
DOGCOLOR color;
char name[20];
static int count;
public:
Dog(char name[],DOGCOLOR color)
strcpy(this->name,name);
strcpy(this->color,color);

DOGCOLOR getColor ( ) constreturncolor;
const char* getName ( ) const return * name;
const char * getColorString ( )const
switch (color)
case BLACK:return"black";
case WHITE:return"white";
case YELLOW:return"yellow";
case BROWN:return"brown";
case PIEBALD:return"piebald";

return"motley";

void show ( ) const
cout<<"
[简答题]请使用VC6或使用[答题] 菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3. h、proj3. cpp、writeToFile. obj。补充完成重载赋值运算符函数,完成深复制功能。
屏幕上输出的正确结果应该是:
Hello!
Happy new year!
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”两行之间。不得修改程序的其他部分。
注意:
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out. dat中。输出函数writeToFile已经编译为obj文件。
//proj3. h
#inelude < iostream >
#include < iomanip >
using namespaee std;
class MiniString

public :
friend ostream &operator << ( ostream &output, const MiniString &s ) //重载流插入运算符
output << s. sPtr; return output;
friend istream &operator >> ( istrearn &input, MiniString &s )//重载流提取运算符
char temp [100]; //用于输入的临时数组
temp[0] = ’/0’; //初始为空字符串
input >> setw( 100 ) >> temp;
int inLen = strlen(temp) ;//输入字符串长度
if( inLen != 0)

s. length = inLen; //赋长度
if( s. sPtr! = 0) delete []s. sPtr; //避免内存泄漏
s. sPtr = new ch
[简答题]请使用VC6或使用[答题]菜单打开考生文件夹projl下的工程proj1,此工程包含一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:You are nght.
注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include <iostream>
using namespace std;
class MyClass

public:
MyClass(int x):number (x)
//ERROR **********found**********
~MyClass(int x)
//ERROR **********found**********
void Judge(MyClass &obj);
private:
int number;
void Judge(MyClass &obj)

if(obj.number==10)
cout<<"You are right."<<endl;else
cout<<"Sorry"<<endl;

int main( )

//ERROR **********found**********
MyClass object;
Judge(object);
return 0;

[简答题]请使用VC6或使用[答题]菜单打开考生文件夹projl下的工程proj1,该工程含有一个源程序文件proj1. cpp。其中位于每个注释“//ERROR **** found ****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
The value is 10
注意:只修改注释“//ERROR ***** found ****”的下一行语句,不要改动程序中的其他内容。
// proj1, cpp
#include < iostream >
using namespace std;
class MyClass
int value ;
public :
// ERROR ******** found ********
void MyClass(int val) : value(val)
int GetValue( ) const return value;
void SetValue(int val) ;
;
//ERROR ******** found ********
inline void SetValue(int val) value = val;
int main( )
MyClass obj (0) ;
obj. SetValne(10) ;
//ERROR ******** found ******** 下列语句功能是输出obj的成员value的值
cout << "The value is " << obj. value << endl;
return 0 ;

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码