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

2.4作业

一.选择题

1、下列不能作为类的成员的是(B)

A. 自身类对象的指针

B. 自身类对象

C. 自身类对象的引用

D. 另一个类的对象

   2、假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(B

A. x.a

B. x.a()

C. x->a

D. (*x).a()

3、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,正确的是(C

A. A1.p=5;

B. A1->p=5;

C. A1.*p=5;

D. *A1.p=5;

 4、下列不具有访问权限属性的是(A

A. 非类成员

B. 类成员

C. 数据成员

D. 函数成员

 5、 下面的叙述中那个是不正确的是__C_____

     A 类必须提供至少一个构造函数

     B 默认构造函数的形参列表中没有形参

     C 如果一个类没有有意义的默认值,则该类不应该提供默认构造函数

     D 如果一个类没有定义默认构造函数,则编译器会自动生成一个,同时将每个数据成员初始化为相关类型的默认值

二.填空题

1、给出下面程序输出结果。

#include <iostream>

using namespace std;

class Test

{   int x,y;

public:

Test(int i,int j=0)

{x=i;y=j;}

int get(int i,int j)

{return i+j;}

};

int main()

{ Test t1(2),t2(4,6);

int (Test::*p)(int,int);

p=&Test::get;

cout<<(t1.*p)(5,10)<<endl;

Test *p1=&t2;

cout<<(p1->*p)(7,20)<<endl;

}

2、下面程序运行的结果是:5+10=15。

#include <iostream.h>

class Test

{ private:

int x,y; 

public: 

Test() {x=y=0;} 

void Setxy(int x,int y) {__int z=x+y;____} 

void show(){_cout<<z<<endl;_____} 

};

int main()

{  Test ptr;

ptr.Setxy(5,10);

ptr.show();

}

3、请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:

11,   10

13,   12

#include <iostream.h>

class A

{int a;

public:

A(int i=0){a=i;}

int Geta(){return a;}

void show(){cout<<a<<endl;}

};

class B

A a;

int b;

public:

B(int i,int j):_a(i)___,_b(j)_____

{   }

void show(){cout<<a.Geta()<<","<<b<<endl;}

};

void main()

{   B   b[2]={B(10,11),B(12,13)};

for(int i=0;i<2;i++)

__b[i].show;________

}

三、改错题

1. #include <iostream.h>

class Test

{ private:

int x,y=20;

public:

Test(int i,int j){ x=i,y=j; }

int getx(){return x;}

int gety(){return y;}

};

void main()

{  Test mt(10,20);

cout<<mt.getx()<<endl;

cout<<mt.gety()<<endl;

}

2. #include <iostream.h>

class Test

{int x,y;

public:

void fun(int i,int j)

{x=i;y=j;}

void show()

{

cout<<"x="<<x;

if(y)

cout<<",y="<<y<<endl;

cout<<endl;

}

};

int main()

{  Test a;

   a.fun( )

a.fun(1);

a.show();

a.fun(2,4);

a.show();

}

3. #include <iostream.h>

class X

{  public:

int x;

public:

X(int x)

{cout<< this->x=x <<endl;}

X(X&t)

{x=t.x;

cout<<t.x<<endl;

}

void fun(X);

};

void fun(X t)

{ cout<<t.x<<endl;}

void main()

{ fun(X(10));}

4. #include <iostream.h>

#include <string.h>

class Bas

{  public:

Bas(char *s="\0"){strcpy(name,s);}

void show();

protected:

char name[20];

};

Bas b;

void show()

{   cout<<"name:"<<b.name<<endl;  }

void main()

{

Bas d2("hello");

show();

}

四、编程题

4.1   a: 编写一个类Person,表示一个人的名字和地址,使用string来保存每个元素

   b:为Person提供一个接受两个string参数的构造函数

  c:提供返回名字和地址的操作

  d:指明Person的那个成员应声明为public,那个成员应声明为private

 

相关文章:

  • Makefile学习
  • MacOS 14.3 安装 brew
  • 20.HarmonyOS App(JAVA)表格布局Layout使用方法
  • Unity根据落点和抛物线运行时间,求初始力
  • Redis RCountDownLatch RSemaphore的应用
  • sklearn 计算 tfidf 得到每个词分数
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • lua只读表
  • Security ❀ TCP异常报文详解
  • 【JavaEE进阶】 图书管理系统开发日记——肆
  • git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支
  • 字面跳动前端面试题:React Hook为什么不能放在if/循环/嵌套函数里面?
  • js数组和字符串之间的转换方式以及数组的一些方法
  • 51单片机实验课二
  • 二、人工智能之提示工程(Prompt Engineering)
  • 【node学习】协程
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • DataBase in Android
  • jQuery(一)
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • 笨办法学C 练习34:动态数组
  • 从0到1:PostCSS 插件开发最佳实践
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 微信小程序实战练习(仿五洲到家微信版)
  • 线上 python http server profile 实践
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 阿里云API、SDK和CLI应用实践方案
  • ​用户画像从0到100的构建思路
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #pragma 指令
  • #考研#计算机文化知识1(局域网及网络互联)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (4.10~4.16)
  • (ibm)Java 语言的 XPath API
  • (k8s中)docker netty OOM问题记录
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (三) diretfbrc详解
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十八)SpringBoot之发送QQ邮件
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)Linq学习笔记
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .bat批处理(六):替换字符串中匹配的子串
  • .bat批处理出现中文乱码的情况
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET4.0并行计算技术基础(1)
  • .net下简单快捷的数值高低位切换
  • .net项目IIS、VS 附加进程调试
  • @KafkaListener注解详解(一)| 常用参数详解
  • [ solr入门 ] - 利用solrJ进行检索
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限