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

做自适应网站注意事项/苏州优化排名seo

做自适应网站注意事项,苏州优化排名seo,网站建设控制,餐饮网站建设公司一、前言本部分为C语言刷题系列中的第4节,主要讲解这几个知识点:构造函数、析构函数和类的使用。欢迎大家提出意见、指出错误或提供更好的题目!二、知识点讲解由以前知识可知,类的实现中包含成员变量和成员函数,而成员…

一、前言

本部分为C++语言刷题系列中的第4节,主要讲解这几个知识点:构造函数、析构函数和类的使用。欢迎大家提出意见、指出错误或提供更好的题目!

二、知识点讲解

由以前知识可知,类的实现中包含成员变量和成员函数,而成员函数中又涉及两类特殊的函数:构造函数和析构函数。

2.1、构造函数

· 构造函数名称与类名相同,并且没有返回类型

· 只要根据类创建新对象,都会自动执行相应的构造函数

· 构造函数的主要作用是用来对成员变量进行初始化:为指针成员变量分配空间、对数据成员赋初值等

· 构造函数可以重载, 即可以存在多个形参列表不同的构造函数

· 当用户没有定义构造函数时,编译器会提供一个默认的构造函数:没有形参、函数体为空

class Date

{

private:

int month, day, year;

public:

Date() { day=1; month=1; year=1999; }

Date(int d) { day=d; month=1; year=1999; }

Date(int d, int m, int y) { day=d; month=m; year=y; }

};

2.2、析构函数

· 析构函数名为: ~ 类名

· 析构函数没有参数,也没有返回类型,仅有一个析构函数,不存在重载函数

· 当一个对象消亡的前一刻,系统自动调用析构函数

· 析构函数的作用是进行清除对象,释放内存等

· 用户没有定义析构函数时,系统提供缺省版本的析构函数

class Date

{

public:

~ Date(); //析构函数

};

2.3、类的使用

自定义的类,也就是一个自定的数据类型。数据类型的所有用途,类都具有:定义变量(创建对象)、定义数组(创建对象数组)、定义指针和引用。

Date d1; //调用构造函数1次

Date d1[10]; //调用构造函数10次

Date *d3, &d4=d1; //不调用构造函数

需要特别说明的是,创建对象和创建对象数组时,都会调用构造函数,而定义指针和引用时没有涉及新对象的创建,不调用构造函数。

三、试题解析

1.下列关于构造函数的叙述中,错误的是( )。

A.构造函数名与类名相同

B.构造函数可以有返回值

C.构造函数可以重载

D.每个类都有构造函数

答案:B

解析:构造函数的名字和类的名字相同,选项A正确;构造函数没有返回值,不能指定返回类型,选项B错误;构造函数可以被重载,选项C正确;每个类都有构造函数,如果类定义中不提供任何构造函数,那么编译器会在需要时,自动生成一个默认的构造函数,选项D正确。

2.下列叙述中,属于析构函数特征的是( )。

A.析构函数名与类名相同

B.析构函数只能在类体内定义

C.一个类中只能定义一个析构函数

D.析构函数可以有一个或多个参数

答案:C

案解析:析构函数名是在函数名前面加一个位取反符~,为了区别于构造函数;析构函数不能带任何参数,也没有返回值;一个类只能有一个析构函数,不能重载。如果用户没有提供析构函数,编译系统会自动生成一个缺省的析构函数,故答案为C选项。

3.有如下程序:

#include

using namespace std;

class Print

{

public:

Print() { cout<

};

void main()

{

Print a, *b=new Print, d[2];

delete b;

}

运行时输出的结果()

A.CCCC

B.CCC

C.CC

D.C

正确答案:A

解析:在main函数中,该类共创建了4个对象,因此会调用四次构造函数,故输出"CCCC",选A

30.有如下程序:

#include

#include

using namespace std;

class MyBag

{

public:

MyBag(string br="ABC"):brand(br){ cout<

private:

string brand;

};

void main()

{

_________________________

}

若运行时的输出结果不是"ABC ABC",则下划线处缺失的语句是()。

A. MyBag arrays[2];

B. MyBag* arrays=new MyBag[2];

C. MyBag arrays[2]={MyBag("ABC")};

D. MyBag arrays[2]={MyBag("ABC"),MyBag("Xxk")};

正确答案:D

解析:若要使运行时的输出结果不是"ABC ABC",则在创建对象时不要两个都使用默认值,或一个赋值"ABC",另一个使用默认值,一定要赋值一个其他值,故选D。

5.已知类MyClass定义如下:

class MyClass

{

int n;

public:

MyClass(int k) { n=k; }

};

给出如下4个数组定义:

MyClass x1[2];

MyClass x2[2]={new MyClass(1),new MyClass(2)};

MyClass *x3[2];

MyClass x4[2]={MyClass(1),MyClass(2)};

其中语法正确的有几个?

A.1个

B.2个

C.3个

D.4个

答案 B

解析:类MyClass具有一个带有参数的构造函数,因此编译器不会提供默认的构造函数。因此在对象数组x1和x4中,x1无法实例化,x4可以正确实例化。x2为对象数组,但其初始化的却是对象指针,因此不正确。x3为指针数组,不涉及到对像创建,因此也是对的。

四、试题测试

1.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( )。

A.编译器总是自动创建一个不带参数的构造函数

B.这个类没有构造函数

C.这个类不需要构造函数

D.该类不能通过编译

3、有如下类定义:

class Point

{

private:

int xx, yy;

Public:

Point() { xx=0; yy=0; }

Point(int x, int y) { xx=x; yy=y; }

};

若执行语句

Point a(2),b[3], *c[4];

则point类的构造函数被调用的次数是()。

A、2次 B、3次 C、4次 D、5次

------------------------------

欢迎大家提出意见、指出错误或提供更好的题目,只有大家的共同努力,才能帮助更多人掌握C++的基本概念,顺利通过考试!

b68adaf09dd3ec8874d6749d4a351a30.png
http://www.lbrq.cn/news/750745.html

相关文章:

  • 网页购买/seo搜索引擎优化怎么优化
  • 哪些门户网站可以做推广/如何在百度上发表文章
  • 企业网站建设方案范本/中国十大营销策划公司排名
  • ui设计网站建设是什么/电商代运营公司排名
  • 庆阳网站网站建设/网络推广岗位职责和任职要求
  • 网站建设框架怎么做/收录好的网站
  • 网站排名优化原理/网站查询域名解析
  • dreamweaver怎样用框架做网站/搜索引擎优化规则
  • 做网站的越来越少了/国家卫健委每日疫情报告
  • 有专门教做家具的网站/大数据查询个人信息
  • 平顶山网站建设费用/推广营销企业
  • 做基因互作的网站/网站seo检测工具
  • 卡盟网站建设/好消息疫情要结束了
  • 岚县网站建设/网络公司网络营销推广方案
  • 厂房设计装修公司/盛大游戏优化大师
  • 杭州网站建站/地推app接任务平台
  • 装修广告做哪个网站最好看/网销怎么做才能做好
  • 汕头建站平台/公众号营销
  • 有哪些做汽车变速箱的门户网站/百度一下官方入口
  • 广州软件开发公司排名/东莞seo网站制作报价
  • 专业做阿里巴巴网站的公司/网店怎么开
  • 乐山 网站建设/百度推广开户费
  • 做进口产品的网站/杭州seo培训
  • 怎么制作网站模板/如何自己开发一个平台
  • 模板做的网站不好优化/泰安seo公司
  • 长沙网站开发培训学校/百度的合作网站有哪些
  • 做网站时图片的分辨率是多少/怎么制作一个网站
  • 移动网站建设的前期规划内容/百度关键词排名突然下降很多
  • 专注外贸建站/上海seo优化公司kinglink
  • 浏阳做网站报价/站长之家站长工具综合查询
  • Windchill 11.0使用枚举类型自定义实用程序实现生命周期状态管理
  • 攻防世界—unseping(反序列化)
  • ubuntu网络共享
  • Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
  • PHP反序列化的CTF题目环境和做题复现第2集_POP链构造
  • 嵌入式硬件篇---电感本质