更多"[说明]
①定义私有数据成员code、english分别用于表示考"的相关试题:
[多项选择][说明]
①定义私有数据成员code、english分别用于表示考生的编号、英语成绩,它们都是int型的数据。
②完成成员函数void Student::inputinformation( )的定义,该函数用于用户输入一个考生对象的信息,输入格式如下:
输入编号:
英语成绩:
计算机成绩:
③利用已实现的类Student的成员函数,完成函数void firstname(Student *A[],int uum)的定义,该函数根据考生信息A[],输出num个考生中总分最高者的编号及其相应的总分,在此不考虑总分相同的情况。
源程序文件test1.cpp清单如下:
#include < iostream. h >
class Student
(1)
int computer;
int total;
public
void getinformation( );
void computesum( );
int getcode( );
int gettotalscore( );
~Student( );
;
void Student: :getinformation( )
(2)
cout <<"英语成绩:";
cin> >english;
cout <<"计算机成绩:";
cin > > computer;
void Student:: computesum ( )
total = english + computer;
cout <<"编号" << code <<"总分:" <<total << endl;
int Student::getcode( )
return code;
int
[简答题]【说明】
①定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。
②完成类Table的成员函数print( )的定义,该函数以“x*y=z”的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现。
③完成类Table9的成员函数print( )的定义,该函数调用基类Table的print( )函数,将九九表输出到屏幕。
④补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。
源程序文件test8_3.cpp清单如下:
#include <iostream, h >
#include < stdio, h >
class Table
}
(1)
int z;
public:
void print (int x,int y,int z);
};
void Table::print (int x,int y,int z)
{
(2)
}
Class Table9:public Table
{
public:
void print( );
};
void Table9::print( )
{
(3)
int x,y,z;
for(i=1;i<10;i++)
{
for(j=1;j<i+1;j++)
{
x=i;
y=j;
z=i*j;
Table::print(y,x,z);
}
printf("/n");
}
}
main( )
{
//* *4* *
return 0;
}
[简答题]【说明】
①定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。
②完成类Table的成员函数print( )的定义,该函数以“x*y=z”的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现。
③完成类Table9的成员函数print( )的定义,该函数调用基类Table的print( )函数,将九九表输出到屏幕。
④补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。
源程序文件test8_3.cpp清单如下:
#include <iostream, h >
#include < stdio, h >
class Table
(1)
int z;
public:
void print (int x,int y,int z);
;
void Table::print (int x,int y,int z)
(2)
Class Table9:public Table
public:
void print( );
;
void Table9::print( )
(3)
int x,y,z;
for(i=1;i<10;i++)
for(j=1;j<i+1;j++)
x=i;
y=j;
z=i*j;
Table::print(y,x,z);
printf("/n");
main( )
//* *4* *
return 0;
[填空题]【说明】
设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。
在Date类中设计如下重载运算符函数:
Date operator + (int days) : 返回某日期加上天数得到的日期。
Date operator - (int days) : 返回某日期减去天数得到的日期。
int operator - (Date&b): 返回两日期相差的天数。
【程序】
#include<iostream.h>
int day tab[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;
//day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date
int year, month, day //年,月,日
int leap(int); //判断是否闰年
int dton(Date&)
Date ntod(int)
public:
Date( )
Date (int y, int mint d) I year = y; month = m; day = d;
void setday(intd)day = d;
void setmonth(int m) month = m;
void setyear(int y) year =y;
int getday( ) return day;
int getmonth( ) return month:
int getyear( ) return yea;
Date operator + (int days) //+运算符重载函数
static Date date;
int number = (1)
date = ntod(nu
[填空题][说明]
设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。
在Date类中设计如下重载运算符函数。
Date operator+(int days):返回某日期加上天数得到的日期。
Date operator-(int days):返回某日期减去天数得到的日期。
int operator-(Date &b):返回两日期相差的天数。
[C++程序]
#include<iostream. h>
int day_tab[2][12]=31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
31, 29, 31,30, 31, 30, 31, 31,30,31,30,31;
//day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年
class Date
int year,month,day;//年,月,日
int leap (int); //判断是否为闰年
int dton (Date&);
Date ntod (int);
Public:
Date( )
Date(int y,int mint d)year=y;month=m;day=d;
void setday (intd) day=d;
void setmonth (int m)month=m;
void setyear(int y)year=y;
int getday( )return day;
int getmonth( )return month;
int getyear( ) return year;
Date operator+(int days) //+运算符重载函数
static Date date;
int number= (1) ;
date=ntod (number);
return date;
Date
[填空题]静态数据成员在定义或说明时,要在前面加上关键字 【6】 ;静态成员函数的实现中,不能直接引用类中说明为非静态的成员。
[填空题]静态数据成员在定义或说明时,要在前面加上关键字______;静态成员函数的实现中,不能直接引用类中说明为非静态的成员。
[填空题]下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。
struct stu
int x;
【15】
【16】 next;
[多项选择]【说明】
本题将有向网(带权有向图)定义为类Adjacency WDigraph。类中的数据成员n表示有向网中的顶点数;a为带权邻接矩阵,用于存储有向网中每一对顶点间弧上的权值;c为二维数组,存储有向网中每一对顶点间的最短路径长度;kay为二维数组,存储最短路径,kay[i][j]=k表示顶点i到达顶点j的最短路径必须经过顶点k。类中的主要成员函数有:
Input( ):输入有向网的顶点数、各条弧及权值,建立带权领接矩阵a。若顶点i到顶点j有弧,则a[i][j]取弧上的权值,否则a[i][j]的值取NoEdge。
AllPairs( );用弗洛伊德(Floyd)算法求有向网中每一对顶点间的最短路径长度。
OutShortestPath (int i, int j:计算顶点i到顶点j的最短路径。
outputPath(int i, int j):输出顶点i到顶点j的最短路径上的顶点。
Floyd算法的基本思想是递推地产生一个矩阵序列C0,C1,C2,…,Cn,其中C0是已知的带权邻接矩阵,a,Ck(i, j(0≤i,j<)表示从顶点i到顶点j的中间顶点序号不大于k的最短路径长度。如果i到j的路径没有中间顶点,则对于0≤k<n,有Ck(i,j)=C0(i,j)= a[i][j]。递推地产生C1,C2,…,Cn的过程就是逐步将可能是最短路径上的顶点作为路径上的中间顶点进行试探,直到为全部路径都找遍了所有可能成为最短路径上的中间顶点,所有的最短路径也就全部求出,算法就此结束。
【C++代码】
#include < iostream. h >
#define NoEdge 10000// 当两个顶点之间没有边相连时,在邻接矩阵中用NoEdge表示
void Make2DArray(int * * &x, int rows, int cols);
class AdjacencyWDigraph
private
int n; //
[填空题]在用class定义一个类时,数据成员和成员函数的默认权限是 【10】 。
[简答题]【说明】
本题将有向网(带权有向图)定义为类Adjacency WDigraph。类中的数据成员n表示有向网中的顶点数;a为带权邻接矩阵,用于存储有向网中每一对顶点间弧上的权值;c为二维数组,存储有向网中每一对顶点间的最短路径长度;kay为二维数组,存储最短路径,kay[i][j]=k表示顶点i到达顶点j的最短路径必须经过顶点k。类中的主要成员函数有:
Input( ):输入有向网的顶点数、各条弧及权值,建立带权领接矩阵a。若顶点i到顶点j有弧,则a[i][j]取弧上的权值,否则a[i][j]的值取NoEdge。
AllPairs( );用弗洛伊德(Floyd)算法求有向网中每一对顶点间的最短路径长度。
OutShortestPath (int i, int j:计算顶点i到顶点j的最短路径。
outputPath(int i, int j):输出顶点i到顶点j的最短路径上的顶点。
Floyd算法的基本思想是递推地产生一个矩阵序列C0,C1,C2,…,Cn,其中C0是已知的带权邻接矩阵,a,Ck(i, j(0≤i,j<)表示从顶点i到顶点j的中间顶点序号不大于k的最短路径长度。如果i到j的路径没有中间顶点,则对于0≤k<n,有Ck(i,j)=C0(i,j)= a[i][j]。递推地产生C1,C2,…,Cn的过程就是逐步将可能是最短路径上的顶点作为路径上的中间顶点进行试探,直到为全部路径都找遍了所有可能成为最短路径上的中间顶点,所有的最短路径也就全部求出,算法就此结束。
【C++代码】
#include < iostream. h >
#define NoEdge 10000// 当两个顶点之间没有边相连时,在邻接矩阵中用NoEdge表示
void Make2DArray(int * * &x, int rows, int cols);
class AdjacencyWDigraph {
private
int n; //有向网中的顶点
[填空题]在用class定义一个类时,数据成员和成员函数默认的访问权限是 【10】 :