当前位置: 首页 > article >正文

C++题集

1对象的核心概念就是通常所说的 继承、封装和多态性 

2函数的 、定义和调用 称为函数三步曲.

3.Cin后面的符号是: 〉> ,cout后面的符号是: <<

4.面向对象的英文缩写是: OOP 

5已知X=2,y=3,x<y的值是: true 

6.C语言中printf命令在c++中改用: cout 

7.C语言中scanf命令在c++中改用: cin

8.#include〈iostream.h>命令中include的意义是: 包含头文件 .

9.C++语言中的每条基本语句以  ;  作为结束符,每条复合语句以  {}  作为结束符.

10。执行cout<<char(’A'+2)<〈endl;语句后,得到的输出结果为  C  

11。float和double类型的大小分别为  4  和  8  .

12.假定一个一维数组的定义为char a[8];则该数组所含元素的个数为  8  ,所占存储空间的字节总数为  8  

13。变量分为  全局和局部  两种,变量没有赋初值时,其值是不确定的。

14。对一个类中的数据成员的初始化,可以通过构造函数来实现,也可以通过该类的成员函数来实现。

15。假定AB为一个类,则执行AB a(10);语句时,系统自动调用该类的构造函数的次数为  1  

16.假定AB为一个类,则执行AB a[10];语句时,系统自动调用该类的构造函数的次数为  10  

17.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB *a[10]={&a1,&a2;时系统自动调用该类的构造函数的次数为  0  

18。假定类AB中有一个公用属性的静态数据成员static int bb;在类外不通过对象名给该成员bb赋值为10的写法:  int AB::bb=10;  

19。在面向对象程序设计中,具有相同属性和服务的一组对象的集合称为  类  .

20。在面向对象程序设计中,对象由一组 属性(数据) 和一组 服务(操作) 构成。

21。类成员的三种访问控制属性是: 公有(public) 、 保护(protected) 、 私有(private)  

22。在类内部定义的公有(public)数据可以在类外进行存取,但保护(protected)数据和私有(private)数据不能在类外直接存取

23.在OOP中,当类的继承方式为公有继承时,基类的 公有成员 和 保护成员 的访问属性在派生类中不变,基类的 私有成员 不可访问.

24.一个C++源程序按结构一般划分为三种文件,分别是: 类说明文件 、 类实现文件和类的使用文件

25.在已经定义了整型指针ip后,为了动态得到一个包括10个整数的数组并由ip所指向,应使用语句 ip=new int[10]

26。在一个类中可以定义 多个 构造函数, 1个 析构函数.

27。在用class定义一个类时,数据成员和成员函数的默认访问权限是 私有

28.在删除一个动态对象时,将自动调用该动态对象所属类的 析构 函数。

29。为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义 析构函数

30.当建立一个新对象时,程序自动调用 构造函数

31.类的私有成员只能被它的成员函数和 友元函数 访问。

32.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为 ~AB(){ }

33。一个抽象类的派生类可以实例化的必要条件是 实现了所有的纯虚函数

34。在C++中,虚函数帮助实现了类的 多态 性.

35.通过C++语言中类的 继承(派生) 机制,可以扩充和完善已有类以适应新的需求。

36。C++类族中,不能被派生类继承的有 构造函数、析构函数 .

37.定义重载函数时,应保证 参数个数或参数类型 有所不同。

38.运算符重载仍然保持其原来的 优先级、结合性和语法结构

39.使用指向对象的指针来标识类的成员,则必须使用的运算符是  ->  .

40。拷贝构造函数通常使用 对象的引用 来初始化创建中的对象.

41.在OOP中多态是指 同样的消息被不同对象接收时可产生不同的行为 ;它通过 重载 和 虚函数 等技术来实现。

42.含有纯虚函数的类称为 抽象类 .

43。定义模板的关键字是 template

44。模板定义中标识类型的参数必须用关键字 class(或typename) 修饰。

45.类模板可以使用两种形式的参数,分别是: 类型参数 和  普通参数

46。函数模板既可以与 函数模板 重载,也可以与 普通函数 重载。

47。从现存类中构建其子类可以通过C++语言中的 继承(派生)机制 实现。

48.C++的I/O系统通过 流 的机制实现文件和控制台的输入输出操作。

49.cin是 输入流istream 的一个对象,处理标准输入;cout是 输出流ostream 的一个对象,处理标准输出。

50.设要把一个文件输出流对象myFile与文件f:\myText。txt"相关联,所用的C++语句是:__ifstream myFile(“f:\\myText.txt");_

51.C++中ostream类的直接基类是___ios类_____

52.运算符[ ]只能用___成员___运算符来重载,不能用友元运算符来重载。

53.定义虚函数所用的关键字是___virtual__.

54.类的继承是指子类继承基类的___数据成员___  成员函数  

55.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为__多态性或(类的多态性)__

56___#include___指令指示编译器将一个源文件嵌入到带该指令的源文件之中。

57.设在程序中使用如下语句申请了一个对象数组:Point *ptr=new Point[2];

要释放ptr指向的动态数组对象时,所使用的语句是__ delete[ ]ptr;_

58.在保护派生中,基类权限为Private的成员在派生类中___不可访问_____

59.类A有如下成员函数:

int A::fun(double x){return (int) x/2;}

int A::fun(int x){return x*2;}

设a为类A的对象,在主函数中执行语句int s=a.fun(6.0)+a。fun(2)后的s值为_7__

60.类A有如下成员函数

int A::fun(double x){return (int) x/2;}

int A::fun(int x){return x*2;}

设a为类A的对象,在主函数中执行语句int s=a.fun(6)+a。fun(2。0)后的s值为__13__

61.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的____地址值  ____

62.在C++中,声明布尔类型变量所用的关键字是____bool____

63.C++语言中可以实现输出一个换行符并刷新流功能的操控符是___endl____

64.完成下面类中的成员函数的定义。

class point{

int m,n;

public:

point(int,int);

point(point&);

};

point::point(int a,int b){//此构造函数分别将两个参数值赋给数据成员m和n.

    m=a;  

__ _n=b;  

}

point::point(___point&t___){//此构造函数通过对象t赋值给两个数据成员m和n。

m=t。m;

n=t。n;

65.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句.

#include<iostream〉

using namespace std;

const float pi=3.14159;//定义pi为浮点型常量

void main(){

double r,l,s

cout<〈″r=″;

___cin〉〉r______   //输入圆半径值给变量r

   l=2.0*pi*r;     //计算圆周长值给变量l

   s=pi*r*r;       //计算圆面积值给变量s

cout<<″\n The long is:″<〈l〈〈endl;

cout<〈″The area is:″<〈s〈〈endl;

}

66.在下划线处填上缺少的部分。

#include〈iostream>

#include〈fstream〉

using namespace std;

class complex{

public:

int real;

int imag;

complex(int r=0,int i=0){

real=r;

imag=i;

}

};

complex operator+(__complex &a___,  complex& b  ){

int r=a。real+b.real;

int i=a.imag+b.imag;

return__complex(r,i)  //将结果以对象方式返回

}

void main(){

complex x(1,2),y(3,4),z;

z=x+y;

cout<<z。real〈<″+″〈<z.imag〈<″i″〈〈endl;

}

67.程序的输出结果如下:

1,9

50,30

请根据输出数据在下面程序中的下划线处填写正确的语句。源程序如下:

#include<iostream〉

using namespace std;

class base{

private:

int m;

public:

base(){};

base(int a):m(a){}

int get(){return m;}

void set(int a){m=a;}

};

void main(){

base *ptr=new base[2];

ptr—>set(30);

ptr=____ptr+1;_____

ptr->set(50);

base a[2]={1,9};

cout〈<a[0]。get()〈〈″,″<<a[1].get()<〈endl;

cout<<ptr-〉get()〈〈″,″;

ptr=ptr-1;

cout<<_____ptr->get()___〈<endl;

delete[]ptr;

}

68.在下面横线处填上求两个浮点数之差的cha函数的原型声明、定义和调用方法.

#include <iostream〉

using namespace std;

void main(){

float a,b;

____float cha(float,float);____//函数cha的原型声明

a=12。5;

b=6.5;

float c=_____ cha(a,b) ____//调用函数cha

cout<〈c〈<endl;

float cha(float x,float y){    //定义函数cha

float w;

    w=x-y;    

return w;

69有如下程序段:

class X{

public:

X();

X(int i);

private:

int i;

};

(1)本程序段的功能是: 定义类 .

(2)class X的X表示: X是类名 .

(3)private:表示:   定义私有的成员 

(4)public:  表示:   定义公有的成员 

(5){ }内的内容称为 函数体 

70.分析以下程序执行的结果,回答问题。

#include〈iostream。h〉

int add(int x,int y){return x+y;}

double add(double x,double y){return x+y;}

void main()

int a=4,b=6;

double c=2.6,d=7。4;

cout<<"a+b="<〈add(a,b)<〈",c+d="〈〈add(c,d)<〈endl;

}

(1)本程序中有两个add()函数,这方法称为  函数重载  

(2)个add()函数的区别: 调用的参数数据类型不同 .

(3)本题的输出结果为:  a+b=10,c+d=10。0     


http://www.kler.cn/news/360090.html

相关文章:

  • ICRA@40 周年大会:多指手既可抓取,又可以变成多足机器人
  • [openwrt-21.02]openwrt-21.02 增加固件编译日期时间及git记录到openwrt_release文件
  • 【微信小程序_15_下拉刷新与上拉触底】
  • JavaScript中实现十进制转二进制算法
  • 1020接口测试面试题随记
  • golang的数组、slice和map
  • 【专题】数据库编程
  • 人工智能技术的应用前景及其对生活和工作方式的影响
  • sql server 行转列及列转行
  • 程序设计基础I-单元测试2(机测)
  • 华为eNSP Destination host unreachable和Request timeout!错误(详细解析)
  • 【无标题】如何使用yolo-v8 实现自定义目标检测
  • 教学平台的信息化之路:Spring Boot实践
  • 【ChatGPT】提高 ChatGPT 创意输出的提示词技巧
  • 在windows下利用安装docker加vscode调试OceanBase,
  • Pandas | 通过PUBG数据集进行数据分析并理解函数使用
  • 鸿蒙网络编程系列22-Web组件文件上传示例
  • 【红日安全】vulnstack (一)
  • K8S---02.Kubernetes的pod
  • python支付宝支付和回调