【渝粤题库】陕西师范大学200711 面向对象方法与C++ 作业

《面向对象方法与C++》作业
一、填空题
1.若char *string=”test”;则如果要输出指针值,正确的语句是 。
2.在重载“[ ]”运算符时,必须使用 函数重载。
3.当用public继承时,基类的public成员成为派生类的 成员,基类的protected成员成为派生类的 成员。
4.可以赋给指针的唯一整数是 。
5.在重载“=”运算符时,必须使用 函数重载。
6.以下程序: int c=10;
cout.flags(ios::hex|ios::showbase);
cout<<c;
的输出结果是 。
7.当用private继承时,基类的public成员和protected成员都将成为派生类的 成员。
8.在main 函数中出现的以下语句:max= Max(a, Max(b, c));是一个 函数调用的语句。
9. 头文件声明和定义了重要的文件处理操作服务。
10.关键字 表示类的静态成员。
11.当一个成员函数定义在类的声明外部时,函数名之前要加上 名称和 运算符。
12.在C++中,虚基类的引入是为了实现 继承。

二、判断题
1.在以下语句中: cin >> XXXX;
XXXX必须是一个变量名,而不能是一个任意表达式。( )
2.以下声明将不会导致编译错误。( )
enum GradeType {‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’};
3.在C++里,派生类的构造函数先于其基类的构造函数执行。( )
4.C++中的所有函数都是传值调用。( )
5.在类time中声明如下的函数原型:void ~time( ); ( )
6. 以下程序:
class CA
{ public:
virtual void dis( )=0; };
class CB:public CA
{ public:
void set(int m){ k=m;}
protected:
int k;
};
void main( )
{ CB b; }
是正确的。( )
7.函数模板能够定义一个在不同数据类型基础上完成同一任务的函数。( )
8.以下语句:char *string=”test”;
delete [ ]string; 是正确的 。( )
9.一个有指针数据成员的类必须要包含的成员函数有:初始化构造函数,析构函数,拷贝构造函数和赋值运算符函数 。( )
10.抽象基类中的所有虚函数都要声明为纯虚函数。 ( )
11.以下语句: char *string=new char[10];
strcpy(string,”test”);//…
delete [ ]string; 是正确的 。 ( )
12.枚举类型变量的值可以直接进行输入、输出。 ( )

三、读程题
1.下面程序在执行过程中,若顺序输入十个整数: 1 2 3 4 5 6 7 8 9 10,其结果是什么。
#include <iostream.h>
class stack;
class node{
int data;
node *prev;
public:
node(int d,node *n){ data=d; prev=n;}
friend class stack;
};
class stack{
node *top;
public:
stack( ){ top=0;}
void push(int i){
node *n=new node(i,top); top=n; }
int pop( ){
node *t=top;
if(top){
top=top->prev; int c=t->data;
delete t; return c;}
return 0; }
};
void main( ){
int c; stack s;
for(int i=0;i<10;i++)
{ cin>>c; s.push©; }
for(i=0;i<10;i++)
cout<< s.pop( )<<" ";
cout<<endl; }

2.
#include <iostream.h>
#include <iomanip.h>
class Increment {
public:
Increment(int=0,int=1);
void addIncrement( )
{ count+=increment;}
void print( ) const;
private:
int count;
const int increment; };
Increment::Increment(int c,int i):increment(i)
{ count=c; }
void Increment::print( ) const{
cout<<“count=”<<setw(8)<<count<<endl;
cout<<“increment=”<<increment<<endl; }
void main( ){
Increment object(65,7);
cout<<“before:”<<endl;;
object.print( );
for(int j=0;j<3;j++){
object.addIncrement( );
cout<<“after:”<<j+1<<endl;
object.print( ); } }
3.
#include <iostream.h>
class point{
static int count ;
float xcoord , ycoord ;
public:
point(float x=0 ,float y=0 )
{ xcoord=x ;ycoord=y ;count++ ;}
static int getcount( )
{ return count ;}
~point( )
{ count-- ; } };
int point::count=0;
void main( ){
cout<<point::getcount( )<<" “;
point *p ,a(32.98,-4.71) ,b ,c;
cout<<point::getcount( )<<” “;
cout<<b.getcount( )<<” “;
p=new point[100];
cout<<point::getcount( )<<” “;
delete [ ]p;
cout<<point::getcount( )<<endl; }
4.
#include <iostream.h>
class Test{
static int count;
public:
Test( ){ ++count; }
~Test( ){ --count; }
static int getCount( ){ return count; } };
int Test::count=0;
void main( ){
cout<<Test::getCount( );
Test t,tab[5],*p;
cout<<’\t’<<Test::getCount( );
p=new Test[10];
cout<<’\t’<<Test::getCount( );
delete [ ]p;
cout<<’\t’<<Test::getCount( )<<endl; }
5.
#include <iostream.h>
#include <stdlib.h>
template class vector{
T *v; int sz;
public:
vector(int s=100){
v=new T[sz=s]; }
vector(const vector&vv){
sz=vv.sz; v=new T[sz];}
vector&operator=(const vector&vv){
if(&vv!=this){
delete[ ]v;
sz=vv.sz;
v=new T[sz];
for(int i=0;i<sz;i++)
v[i]=vv.v[i]; }
return this;}
~vector( ){ delete[ ]v;}
T & operator[ ](int i){
if(i<0||i>=sz){ cerr<<“Error\n”;exit(1);}
return v[i];} };
void main( ){
vector v(10),u(v);
for(int i=0;i<10;i++)
v[i]=3
i+1;
u=v;
for( i=0;i<=10;i++)
cout<<u[i]<<” "; }

四、编程题
1.请完成以下程序:设计一个学生类,其属性有学号、姓名、性别、年龄和C++成绩,并定义相应操作,重载析取符( >> )和插入符( << )以支持I/O操作。在main函数中定义学生对象数组,对于学生对象数组从磁盘文件“student.txt” 进行输入,最后以学号n为参数在数组中查找学号为n的学生,并显示该生的全部信息。
#include <1>
#include <string.h>
#include <iomanip.h>
class student{
2;
char name[20],sex;
int age;
float score;
public:
student( ){ }
student(int nu,char * na,char se,int ag, 3 sc){
num=nu; strcpy(name,na);
sex=se; age=ag; score=sc;}
int getn( ){
return num;}
friend istream&operator>>(istream& s,student& st){
s>>st.num>>st.name>>st.sex>>st.age>>st.score;
return 4; }
friend ostream&operator<<( 5 s,const student& st){
s<<st.num<<" “<<6 <<” “<<st.sex<<” “<<st.age<<
" “<<st.score<<endl;
return s;} };
const int m=300;
7 main( ){
student s[m];
ifstream f(“8_”);
int i=0;
while(!f.eof( ))
f>>s[9];
int n,flag=1;
cout<<“Enter n:”;
10;
for(int j=0;j<i && flag;j++)
if(s[j].getn( )n){ flag=0;cout<<“找到了:”<<s[j];}
if(flag
1) cout<<“没找到。\n”;
}
2.请完成以下复数类的设计,复数类对象的创建及使用。
#include <1>
#include <math.h>
#include <stdlib.h>
class complex{
double rpart,ipart;
double abs( )const;
double norm( )const;
public:
complex(double r=0,double i=0){
2; ipart=i;}
complex operator-( );
friend complex operator+(const complex&,const complex&);
friend complex operator-(const complex&,const complex&);
friend complex operator*(const complex&,const complex&);
friend complex operator/(const complex&,const complex&);
friend 3 operator>(const complex&,const complex&);
friend int operator>=(const complex&,const complex&);
friend int operator< (const complex&,const complex&);
friend int operator<=(const complex&,const complex&);
friend int operator==(const complex&,const complex&);
friend int operator!=(const complex&,const complex&);
friend istream& operator>>(istream& si,complex& c){
si>>c.rpart>>c.ipart;
return si;}
friend ostream& operator<<( ostream&so,const complex&c){
so<<’(’<<c.rpart<<’,’<<c.ipart<<”)\n”;
4;} };
double complex::abs( )const{
return sqrt(rpartrpart +5);}
double complex::norm( )const{
return (rpart
rpart+ipartipart);}
complex complex:: operator-( ){
return complex(-rpart,-ipart);}
complex operator+(const complex&c1,const complex&c2){
return complex(c1.rpart+c2.rpart),c1.ipart+c2.ipart);}
complex operator-(const complex&c1,const complex&c2){
return complex(6 ,c1.ipart-c2.ipart);}
complex operator
(const complex&c1,const complex&c2){
return complex(c1.rpartc2.rpart-c1.ipartc2.ipart,
c1.rpartc2.ipart+c1.ipartc2.rpart); }
complex operator/(const complex&c1,const complex&c2){
complex res;
double d=c2.norm( );
if(d!=0){
res.rpart=(c1.rpartc2.rpart+c1.ipartc2.ipart)/d;
res.ipart=(c1.ipartc2.rpart-c1.rpartc2.ipart)/d; }
else { cerr<<“dive by 0.\n”;exit(1);}
7; }
int operator>(const complex&c1,const complex&c2){
return c1.abs( )>c2.abs( );}
int operator>=(const complex&c1,const complex&c2){
return 8; }
int operator<(const complex&c1,const complex&c2){
return c1.abs( )<c2.abs( ); }
int operator<=(const complex&c1,const complex&c2){
return c1.abs( )<=c2.abs( );}
int operator==(const complex&c1,const complex&c2){
return c1.rpartc2.rpart&&c1.ipartc2.ipart;}
int operator!=(const complex&c1,const complex&c2){
return _____ 9______|| c1.ipart!=c2.ipart;}
void main( ){
10 c1(1,2),c2(3,4),c3;
cin>>c3; cout<<c3;
c3=-c12+c2/c3c1-6;
cout<<c3;
if(c1>c2) cout<<c1;
else cout<<c2;
cin>>c1>>c2>>c3;
cout<<c1<<c2<<c3; }
3.有一家医院的门诊记录如下所示,已知该记录存放在一个”patient.dat”文件中,请编写一个程序,帮助医生计算一下每一位病人平均血压。
病人的编号 病人血压的测量次数 病人血压各次测量的结果
1001 5 100 120 90 110 100
1002 2 100 120
1003 3 90 120 130
1004 4 80 70 90 100
1005 3 120 135 110
┆ ┆ ┆
4.请完成以下集合类的设计,集合类对象的创建及使用。
#include <iostream.h>
const int maxcard=20;
class set{
int elems[maxcard],card;
public:
set( ) {card=1;}
friend bool operator&(int,set);
friend bool operator==(set,set);
friend 2 operator!=(set,set);
friend set operator+(set,set);
friend set operator+(set,int);
friend set operator-(set,int);
3 set operator*(set,set);
friend bool operator<(set,set);
friend bool operator<=(set,set);
friend ostream& operator<<(ostream&out,const set&s)
{ out<<endl;
for(int i=0;i<s.card;i++)
out<<s.elems[i]<<" “;
return 4; } };
bool operator&(int e ,set s){
for(int i=0;i<s.card;i++)
if(s.elems[i]e)
return true;
return 5_;}
bool operator
(set s1,set s2){
if(s1.card!=s2.card) return false;
for(int i=0;i<s1.card;6_)
if(!(s1.elems[i]&s2)) return false;
return true;}
bool operator!=(set s1,set s2)
{ return !(s1==s2)?true:false;}
set operator+(set s,int e)
{ set res=s;
if(s.card<maxcard)
if(!(e&s))res.elems[res.card++]=e;
return res;}
set operator+(set s1,set s2)
{ set res=s1;
for(int i=0;i<s2.card;i++)
res=res+s2.elems[i];
return res;}
set operator-(set s,int e)
{ set res=s;
if(!(e&s))return res;
for(int i=0;i<s.card;i++)
if(s.elems[i]==e)
for(;i<s.card-1;i++) res.elems[i]=res.elems[i+1];
7_;
return res;}
set operator*(set s1,set s2){
8_;
for(int i=0;i<s1.card;i++)
for(int j=0;j<s2.card;j++)
if(s1.elems[i]s2.elems[j])
{ res.elems[res.card++]=9_; break;}
return res;}
bool operator<=(set s1,set s2){
if(s1.card>s2.card)return false;
for(int i=0;i<s1.card;i++)
if(!(s1.elems[i]&s2))return false;
return true;}
bool operator<(set s1,set s2){
return s1.card<s2.card&&s1<=s2?true:false;}
void main( ){ set 10_;
for(int i=0;i<100;i++) s1=s1+i;
cout<<s1;
if(s1!=s2) cout<<"\nTrue\n"; else cout<<"\nFalse\n";
s2=s1; cout<<s2;
if(s1
s2) cout<<”\nTrue\n"; else cout<<"\nFalse\n";
for(i=0;i<20;i++) s1=s1-i;
cout<<s1;
s3=s1s2; cout<<s3;
if(s1<s2) cout<<"\nTrue\n"; else cout<<"\nFalse\n";
if(s1+s2<=s3)cout<<"\nTrue\n"; else cout<<"\nFalse\n"; }
5.完成以下程序。
#include <iostream.h>
#include <iomanip.h>
double function(double x){
return 4/(1+x
x);}
class inte_algo {
protected:
double a,b,n,h,sum;
public:
inte_algo(double left,double right,double steps){
a=1,b=right,n=steps,h=(b-a)/n,sum=0;}
virtual void integrate( )= 2; };
class rectangle: 3{
public:
rectangle(double left,double right,double steps):
inte_algo(left,right,steps){ }
4_; };
void rectangle::integrate( ) {
double a1=a;
for(int i=0;i<n;i++)
sum+=function(a1),a1+=h;
sum*=h;
cout<<“Sum=”<<sum<<endl; }
class ladder: public inte_algo {
public:
ladder(double left,double right,double steps):
inte_algo(left,right,steps){ }
void integrate( ); };
void ladder::integrate( ) {
double a1=a;
sum=(function(a)+function(b))/2;
for(int i=1;i<n;i++)
a1+=h,sum+=function(a1);
sum*=h;
cout<<“Sum=”<<sum<<endl; }
class _5: public inte_algo {
public:
simpson(double left,double right,double steps):
6 { }
void integrate( ); };
void simpson::integrate( ) {
sum=function(a)+function(b);
double s=1,a1=a;
for(int i=1;i<n;i++)
a1+=h, sum+=(3+s)function(a1),s=-s;
sum
=h/=3;
7; }
void main( ) {
rectangle r(0,1,10); ladder l(0,1,10);
simpson 8(0,1,10); inte_algo 9 =&r;
cout<<setprecision(15);
p->integrate( ); p=&l;
p->integrate( ); p=&s;
10; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决office一打开就显示正在更新,过一会就报错的问题

问题描述&#xff1a; 一打开office就显示正在更新&#xff0c;请稍后&#xff0c;过一会就弹窗报错。 解决方案&#xff1a; 1.winR输入services.msc 2.将Microsoft Office即点即用服务设为自动 如果第二步中已经是自动状态&#xff0c;先禁用一下&#xff0c;再重新设置为…

【渝粤题库】陕西师范大学201281 民法作业

《民法学》作业 一、单项选择题 1&#xff0e;诉讼时效作为权利人不行使权利就丧失人民法院保护其民事权利的法定期间&#xff0c;它一般适用于&#xff1f; A&#xff0e;支配权    B&#xff0e;请求权    C&#xff0e;形成权    D&#xff0e;抗辨权 2&#xff0e;民…

框架如何调用存储过程_如何在FastReport.Net中使用存储过程

在本文中&#xff0c;我们将讨论使用存储过程来检索报表的数据&#xff0c;使用MS SQL示例&#xff0c;将展示如何在报表中创建和使用函数。Transact SQL允许创建存储过程和函数&#xff0c;存储过程用于自动执行任何操作&#xff0c;这些功能旨在扩展查询功能&#xff0c;它们…

【渝粤题库】陕西师范大学201731教育测量与评价 作业 (专升本、高起本、高起专)

《教育测量与评价》作业 一、名词解释 教育评价常模参照解释标准分教育测量集中量数效度区分度绝对评价 二、填空题测量的要素有_____, 和_。命题蓝图一般包括________、 ________ 、________、 ________ 和_______等内容。近代教育测量发展史上有重要影响的两件事是_______ 和…

Word无法插入公式项目灰色不可用

在我们平时办公或者是论文写作过程中&#xff0c;插入编辑公式是非常常见的操作。但是有时候我们打开Word点击插入发现公式图标为灰色且不可选。接下来我将介绍如何解决。 1、打开文档找到插入公式位置点击插入选项。 2、发现公式符号变为灰色且不可选择。 3、点击左上角的【文…

【渝粤题库】陕西师范大学202141规制经济学 作业(高起专)

《规制经济学》作业 一、填空题 1&#xff0e;&#xff08; &#xff09;是经济学家们用来判断经济福利的共同标准。 2&#xff0e;&#xff08; &#xff09;的存在可以作为政府以公用事业管制和反垄断管制的形式进行管制的理由。 3&#xff0e;( )是破坏性竞争模型的创立者。…

java jvm调优_(第2部分,共3部分):有关性能调优,Java中的JVM,GC,Mechanical Sympathy等的文章和视频的摘要...

java jvm调优这是以前的文章&#xff08;第3部分&#xff0c;共1部分&#xff09;的继续&#xff1a;有关性能调优&#xff0c;Java中的JVM&#xff0c;GC&#xff0c;Mechanical Sympathy等的文章和视频的提要 。 事不宜迟&#xff0c;让我们开始使用我们的下一组博客和视频&…

【渝粤题库】国家开放大学2021春3700汽车电工电子基础题目

试卷代号&#xff1a;3700 2021年春季学期期末统一考试 汽车电工电子基础 试题 2021年7月 一、单项选择题&#xff08;下列各题的备选答案中&#xff0c;只有一个选项是正确的&#xff0c;请把正确答案的序号填写在括号内。15小题&#xff0c;每小题2分&#xff0c;共30分&…

同源策略为什么可以防csrf_Spring Security 如何预防CSRF跨域攻击?

序言前面我们学习了 spring security 与 springmvc 的整合入门教程。spring secutity整合springboot入门spring security 使用 maven 导入汇总spring security 业界标准加密策略源码详解这一节我们来学习一下 spring security 是如何预防 CSRF 攻击的。拓展阅读web 安全系列-04…

【渝粤题库】国家开放大学2021春3937人文英语2题目

试卷代号&#xff1a; 3937 2021年春季学期期末统一考试 人文英语2 试题 2021年7月 注意事项 一、将你的学号、姓名及分校&#xff08;工作站&#xff09;名称填写在答题纸的规定栏内。考试结束后&#xff0c;把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完考…

【渝粤题库】广东开放大学 秘书实务 形成性考核

&#x1f449;关注我,看答案&#x1f448; 选择题 题目&#xff1a; 秘书职能包括以下哪几项&#xff1f; 选择一项或多项&#xff1a; 题目&#xff1a; 秘书职能包括以下哪几项&#xff1f; 选择一项或多项&#xff1a; 题目&#xff1a; 下列不属于企业文化的功能是&#…

Arrays.hashCode(Object [])与Objects.hash(Object…)

从JDK 1.5开始 &#xff0c; Arrays类提供了名为“ hashCode ”的重载static方法。 大多数重载方法都接受特定原始类型的数组&#xff0c;但是Arrays.hashCode&#xff08;Object []&#xff09;方法可用于计算引用类型数组的int哈希码。 自从JDK 1.7诞生以来 &#xff0c; Obj…

centos移动文件到指定目录_Dynamo批量分离中心文件并另存到指定目录

我们在做项目的时候&#xff0c;为了方便协作&#xff0c;一般都会采用中心文件的方式&#xff0c;但是最终交付的时候&#xff0c;是需要把中心文件分离的&#xff0c;一个一个的分离&#xff0c;感觉还是他麻烦了&#xff0c;于是就想到用Dynamo来批量操作&#xff0c;简单测…

【渝粤题库】广东开放大学 Java高级编程技术 形成性考核

​题目&#xff1a; Java语言中可以作为标识符的有&#xff08;&#xff09;。 题目&#xff1a; Java中的流程控制语句包括&#xff08;&#xff09;。 题目&#xff1a;计算机语言的发展经历了非常大的变革&#xff0c;其发展具体包括&#xff08;&#xff09;。 题目&#x…

轻松监控Docker容器中的ADF应用程序

在这篇简短的文章中&#xff0c;我将展示一种简单的方法&#xff0c;以确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序。 我将使用标准工具JConsole&#xff0c;它是计算机上JDK安装的一部分。 如果存在问题&#xff08;例如&#xff0c;内存泄漏&a…

int型 判断奇偶_XSS(Reflected) 反射型跨站攻击

今天我学习一下反射型XSS。1、low级别打开DVWA网站&#xff0c;先切换到low级别&#xff0c;选择XSS&#xff08;Reflected&#xff09;先查看其源代码&#xff1a;<?php header ("X-XSS-Protection: 0"); // Is there any input? if( array_key_exists( "…

【渝粤题库】广东开放大学 会展概论 形成性考核

选择题 题目&#xff1a;中国进出口商品交易会创办于&#xff08; &#xff09;。 题目&#xff1a;会展产业对区域经济发展的推动作用主要是通过&#xff08; &#xff09;&#xff0c;带动整个产业链发展来实现的。 题目&#xff1a;展会结束后&#xff0c;下列不属…

【渝粤题库】广东开放大学 土木工程CAD 形成性考核

选择题 题目&#xff1a;当丢失了下拉菜单&#xff0c;可以用下面哪一个命令重新加载标准菜单&#xff08; &#xff09; 题目&#xff1a;下面的各选项除了&#xff08; &#xff09;&#xff0c;其他都可以绘制圆弧。 题目&#xff1a;在AutoCAD中&#xff0c;设置"夹点…

junit 运行_运行,JUnit! 跑!!!

junit 运行JUnit与JavaScript和SVN一起是程序员经常开始使用的一些技术&#xff0c;甚至没有读过一篇博客文章&#xff0c;更不用说一本书了。 也许这是一件好事&#xff0c;因为它们看起来足够简单并且易于理解&#xff0c;因此我们可以立即使用它们而无需任何手册&#xff0c…

pytorch 查看当前学习率_pytorch实现查看当前学习率

在pytorch训练过程中可以通过下面这一句代码来打印当前学习率print(net.optimizer.state_dict()[param_groups][0][lr])补充知识&#xff1a;Pytorch&#xff1a;代码实现不同层设置不同的学习率&#xff0c;选择性学习某些层参数1&#xff0c;如何动态调整学习率在使用pytorch…