第四章类和对象 习题答案

一.选择题1.能提供封装的C++的下列关键字是(C)A.whileB. unionC. classD. for2.在下面所列项中,不是面向对象的特点的是(C)A. 多面性B. 抽象性和封装性C. 多线程和多任务D. 继承性3.下面选项中,对A类的构函数的正确定义是(A)A. A::~A( )B. void ~A::A(参数)C.~A::A(参数)D. void ~A::A( )4.下面有关构造函数的不正确说法是(B)A. 构造函数可以用来实现所有成员变量的初始化B. 构造函数不是类的成员函数C. 当生成类的实例时,自动调用构造函数进行初始化D. 构造函数用来分配对象所需的内存5.有关析构函数的不正确说法是(C)A. 析构函数在对象生存期结束时自动被调用B. 析构函数不得指定参数C. 定义析构函数时,可以指定返回类型为voidD. 析构函数名与类名相同6.下面有关类说法错误的是(C)A. 一个类可以有多个析构函数B. 一个类只能有一个析构函数C. 可以给析构函数指定参数D. 一个类中可以说明具有类类型的数据成员7.下面有关构造函数和new运算符关系的正确说法是(D)A. new运算符不调用构造函数B. 构造函数一定调用new运算符C. 当生成类的实例时,先调用new运算符,然后构造函数进行初始化D. 当用new运算符动态产生类的对象时,new运算符也自动调用构造函数8简单成员函数的声明一般不含关键字(B)A. doubleB. staticC. floatD. int9.已知:print( )函数是一个类的常成员函数,它无返回值,下面表示正确的项是(A)A.void print( )constB. const void print( )C. void const print( )D. void print(const)10.下列各类函数中,不是类的成员函数的是(C)A.构造函数B. 析构函数C. 友元函数D. 复制初始化构造函数11.对友元函数的描述正确的是(A)A.一个类的友元函数是在该类中说明的一个函数B.一个类的友元函数是该类的一个成员C.友元函数只允许访问该类对象的私有成员D.友元函数不允许访问该类的私有成员12.保证编译器正确调用成员函数的规则是(D)A.赋值兼容B. 继承C. 作用域D. 支配13.下面叙述不正确的是(A)A.基类的保护成员在派生类中仍然是保护的B.基类的保护成员在公有派生类中仍然是保护的C.基类的保护成员在私有派生类中是私有的D.对基类成员的访问必须是无二义性的
14.下面叙述不正确的是(C)
A.成员的访问能力在私有派生类中和公有派生类中是不同的B.基类的私有成员在公有派生类中不可访问C.赋值兼容规则不适用于多重继承的组合D.公有基类成员在保护派生中是保护的15.下面叙述不正确的是(D)A.派生类可以有自己的构造函数B. 派生类继承基类的构造函数C. 派生类继承基类的析构函数D. 派生类只能继承基类的一个构造函数16.下面有关类模板叙述不正确的选项是(A)A.不可以通过一个类来派生类模板B. 可以从一个类模板派生出一个新的类模板C. 类模板支持单一继承D. 类模板可以有多个参数17.下面有关类模版叙述不正确的是(B)A.可以使用派生B. 可以使用多个析构函数C. 可以又多个析构函数D. 可以有多个参数18.在构造向量时,不正确的叙述是(D)A.可以使用基本数据类型B. 可以使用类C. 可以使用向量D. 不可以使用容器19.对一个向量来说,不正确的叙述是(D)A.向量的长度可变B.向量有返回无需再次分配内存就能容纳对象个数的成员函数capacity( )C.如果数量已满,当增加一个元素时,向量成员函数capacity( )的长度自动增加D.如果数量已满,当需要增加一个元素是capacity( )的长度每次自动增加一个20.要是一个类成为抽象类,这个累应具有的条件是(A)A.至少有一个纯虚函数B. 至少有一个虚函数C. 只含有一个纯虚函数D. 只含有一个虚函数21.下面是基类中的成员函数形式,其中纯虚函数的是(B)A.virtual void f (void)B. virtual void f (void )=0C. void f (void)=0D. virtual void f (void){}
二.程序填空AB第1题:#includeUsing namespace std;Class point{int x,y;Publice ;Point( ):x(0),y(0){}Point(int a):x(a){y=0;}Point(int a,int b):x(a),y(b){};Int getx( ) {return x;}Int getx( ) {return y;}
}Void main( ){/*******************SPACE*******************/
/*******************SPACE*******************/ 【?】For(int i=0; i<3;i++)Cout<<"b["<For(int i=0; i<3;i++)Cout<<"c["<}答案1.point a[3];2.point b[3]={1,2,3};3.point c[3]={point(1,2),point(3,4),point(5,6)};B第2题:...Class point{ 
private;Int x,y;Publice;Point(int a,int b) {x=a; y=b;cout<<”point...”<Void showxy( ){cout<<”x=”<
{Private;Int h, w public;Rect angle(int a,int b,int h, int w):point (a,b)//构造函//数初始化列表{H=h;W=w ; cout<<”rectangle...”<V oid show( ) {cout<<”H=”<};V oid main( ){Rectangle r1(3,4,5,6);//派生对象调用基类的成员函数showxy( )/*******************SPACE*******************/ 【?】//派生对象调用基类的成员函数show( )/*******************SPACE*******************/ 【?】}1.r1.Showxy();2.r1.Show();A第3题:#includeUsing namespace std;Class A{int n;Public;A(int i):n(i){ }Int add(int a){return n+a;}};V oid main( ){/*******************SPACE*******************/ 【?】//指向类A的成员函数指针A x(10);P=A::add;Cout<<(x.*p)(15)<A*q=&;//类A对象x的指针/*******************SPACE*******************/ Cout<<【?】<}答案1.int (A::*p)(int);2.(q->*p)(15)B第3题:#includeUsing namespace std;Class point{Float x,y;Publice;Void display( )Void setxy(float a,float b);Float getx( );Float getx( );};//定义成员函数void display( )/*******************SPACE*******************/ 【?】{
Cout<}Void point::setxy(float a,float b){ x=a;y=b }Float point::getx( ){return x;}Float point::gety( ){return y;}Void main( ){Point a;a.setxy(3.5,5.8);B.display( );Point &ra=a;//用ra调用display输出x,y的值;/*******************SPACE*******************/【?】Cout<}答案1.void Point::Display()2.ra.Display();三.程序改错A第1题:Class base{Int number;Sttic int a;Public:Void set(int i,int j);Static int geta( ){return a ;}/************FOUND**********/Static int geta( ){return number;}/************FOUND**********/Void show( ){cout<};1.static int getn(){return number;}错误:静态成员函数只允许访问静态成员变量,number不是静态成员变量2.void show(){cout<<","<B第1题:#includeClass point {Int x;Public:Void init(int a) {setx(a);}Int getx( ) {return x;}/************FOUND**********/Int setx(int a){x=a;}};Void main( ){/************FOUND**********/A.init(56);Cour<<”a.x”<}答案1.Setx应有返回值,int Setx(int a){x=a;return x;}2.A对象应该先定义,Point A=new Point( );AB第2题:#includeUsing namespace std;/************FOUND**********/Void sort (int x,int n){Int i,j,t;For (i=0;i/************FOUND**********/For (j=0;j/************FOUND**********/If(x[i]>[i+1]){T=x[j];X[j]=x[j+1];X[j+1]=t; }}Main( ){Int i,n,a[100];Printf(“please input the length of the array:\n”);Cin>>n;/************FOUND**********/Sort(n,a)Cout<<”output the sorted array:”<For(i=0;iCout<}答案1.void sort(int *x,int n)2.for(j=0;j
3.if(x[j]>x[j+1])4.sort(a,n);A第3题:#includeClass point{Int x;Public:Void init(int a){setx(a);}Int getx( ){return x;}};Void main( ){/************FOUND**********/A.init(56);Cout<<”A.”<}答案1.Setx应有返回值,int Setx(int a){x=a:return x;}2.A对象应该先定义,Point A=new point();B第3题:Class base{Int *p;Public;/************FOUND**********/Base(int a ){p=&a};/************FOUND**********/Int getx( ){return m;}};答案1.base(int a){p=&a;}2.m没有定义

 

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

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

相关文章

在Javascript中闭包(Closure)

一、什么是闭包&#xff1f; “官方”的解释是&#xff1a;所谓“闭包”&#xff0c;指的是一个拥有许多变量和绑定了这些变量的环境的表达式&#xff08;通常是一个函数&#xff09;&#xff0c;因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话&#xff0c;因…

C++ 文件写操作

#include <fstream> #include<iostream> using namespace std;void test01(){ofstream ofs;ofs.open("test.txt",ios :: out);ofs << "姓名:张三"<< endl;ofs << "性别:男"<< endl;ofs << "年龄…

JS如何获取URL

JS如何获取URL 一、var urldocument.location; url "www.abc.com/sports/def.aspx"; var r /\/(\w)\.aspx/; alert(url.match(r)[1]); alert(r.exec(url)[1]);二、 var url document.locationurl " http://localhost:8080/Customer/index?tokenghfghfghfghfg…

winform 分页控件分享(二)

大数量分页&#xff0c;使用存储过程。 这个存储过程是网络上考的&#xff0c;呵呵。我把它给贴出来&#xff0c;希望原作者别砸我砖头。。。。。 ALTER PROCEDURE SP_Pagination/**//****************************************************************** 千万数量级分页存…

C++ 二进制文件写操作

#include<iostream> using namespace std; #include<fstream>class Person { public:char m_Name[64]; //姓名int m_Age; //年龄};void test01(){//1、包含头文件//2.创建流对象ofstream ofs("person.txt",ios::out | ios::binary);//3、打开文件//ofs.o…

转载:数据库表结构设计方法及原则

在目前的企业信息系统中&#xff0c;数据库还是最佳的数据存储方式&#xff0c;虽然已经有很多的书籍在指导我们进行数据库设计&#xff0c;但应该那种方式是设计数据库的表结构的最好方 法、设计时应遵从什么样的原则、四个范式如何能够用一种方式达到顺畅的应用等是我一直在思…

C++ 二进制文件读操作

读二进制文件 二进制方式读文件主要利用流对象调用成员函数read 函数原型:[ istream& read(char *buffer,int len); 参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数 示例: #include <fstream> #include <string> #include<iostream>…

成为中国最好的Magento开发公司

MEC电子商务是国内首家Magento定制服务公司。 对于Magento开发&#xff0c;我们的目标是做中国最好的Magento开发公司&#xff0c;但这是一个无止境的追求&#xff0c;从我们2007年创立之初至现在我们积累了大量国际知名品牌的案例&#xff0c;发布了3个MEC Magento系列产品&am…

基于USB通信的开关量输入输出板

难点在于usb通信。以及上位机程序 两个方案&#xff1a; 1.基于stm32的&#xff0c;自带usb口&#xff0c;tqfp100封装&#xff0c;可以保证16输 入&#xff0c;16输出的i/o。 2.基于cy68013fpga的方案&#xff0c;有现成的开发板&#xff0c;应该上手 很快。需要熟悉fpga和680…

C++ 使用模板Template

template --声明创建模板I typename -- 表面其后面的符号是一种数据类型&#xff0c;可以用class代替 T --- 通用的数据类型&#xff0c;名称可以替换&#xff0c;通常为大写字母 使用模板之前&#xff1a; #include<iostream> using namespace std; #include<strin…

程序员常用字体(vs2008字体修改方案)

字体不仅是设计师手中重要的武器&#xff0c;对我们开发人员来说&#xff0c;字体的选择也有许多讲究&#xff0c;一个好的、适合展示代码的字体&#xff0c;应该具备以下要素&#xff1a; 等宽的字符简洁、清晰并且规范的字符形状支持ASCII码为128以上的扩展字符集与字符同等宽…

C++ 使用模板需要注意的事情

总结: ●使用模板时必须确定出通用数据类型T,并且能够推争出一致的类型 #include<iostream> using namespace std; #include<string> #include<fstream>//函数模板注意事项 template<class T> //typename 可以替换成class void mySwap(T&a, T&am…

三分法解决凸(凹)函数极值问题

二分法只适用与线性函数&#xff0c;当函数脱离线性而呈现凸性或者凹性的时候&#xff0c;三分是很有必要的。 三分过程如下图&#xff1a; 凸函数&#xff1a; 凹函数&#xff1a; 实现方法&#xff1a; double Calc(double p) {/*...*/ }double Solve(double MIN, double MAX…

C++ 普通函数和模板函数调用规则

/** 调用规则如下: 1.如果函数模板和普通函数都可以实现&#xff0c;优先调用普通函数 2.可以通过空模板参数列表来强制调用函数模板 3.函数模板也可以发生重载 4.如果函数模板可以产生更好的匹配, 优先调用函数模板 */ 总结:既然提供了函数模板&#xff0c;最好就不要提供普…

计算机网络原理(第一章)课后题答案

第一章 1.什么是计算机网络&#xff1f; 计算机网络是互联、自治的计算机集合 自治&#xff1a;计算机系统彼此独立&#xff0c;不存在主从或控制与被控制的关系 互联&#xff1a;利用通信线路链接&#xff0c;连接相互独立的计算机系统 2.网络协议的三要素是什么&#xf…

VCS使用指令

vcs -debug v2k -f file.tcl -R -ucli -V -do do.tcl -notice -P /home/tian/programs/verdi/share/PLI/VCS/LINUX/novas.tab /home/tian/programs/verdi/share/PLI/VCS/LINUX/pli.a转载于:https://www.cnblogs.com/tshell/archive/2012/10/31/2747463.html

计算机网络原理(第二章)课后题答案

第二章 1.计算机网络应用可以分为哪几种体系结构的应用类型&#xff1f;各种应用类型的特点是什么&#xff1f; C/S结构&#xff1a;通信旨在客户与服务器之间进行&#xff0c;客户与客户不直接通信 纯P2P结构&#xff1a;没有永远在线的服务器&#xff0c;任意端系统/结点之…

计算机网络原理(第三章) 传输层 课后习题

1、实现可靠数据传输的主要措施有哪些?这些措施主要用于解决哪些问题&#xff1f;P98差错检测&#xff1a;利用差错编码实现数据包传输过程中的比特差错检测 确认&#xff1a;确认方向发送方反馈接收状态 重传&#xff1a;发送方重新发送接收方没有正确接收的数据 序号&#x…

电子商务的安全机制及商务模式

电子商务最常见之安全机制有SSL及SET两种。【分类】B2B、B2C、 C2C、B2M四类电子商务模式。 B2B 指的是Business to Business. as in businesses doing business with other businesses,商家(泛指企业)对商家的电子商务&#xff0c;即企业与企业之间通过互联网进行产品、服务及…

Date和Calendar

此文章来源于廖雪峰博客&#xff1a;Date和Calendar - 廖雪峰的官方网站 在计算机中&#xff0c;应该如何表示日期和时间呢&#xff1f; 我们经常看到的日期和时间表示方式如下&#xff1a; 2019-11-20 0:15:01 GMT00:002019年11月20日8:15:0111/19/2019 19:15:01 America/N…