homework day6

2024-02-06 22:28
文章标签 day6 homework

本文主要是介绍homework day6,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第五章  静态成员与友元

一、填空题

    1、一个类的头文件如下所示,num初始化值为5,程序产生对象T,且修改num为10,并使用show()函数输出num的值10。

#include <iostream.h>

class Test

{ private:

static int num;

public:

Test(int);

void show();

};

_int num=5;________

Test::Test(int n)

{ num=n; }

void Test::show()

{ cout<<num<<endl; }

void main()

{ Test t(10);

___t.show();______

}

  2 在下面程序的底画线处填上适当的字句,使该程序执行结果为40。

#include <iostream>

class Test

{ public:

___int x___;

Test (int i=0)

{x=i+x;}

int Getnum()

{return Test::x+7;}

};

_______;

void main()

{Test test;

cout<<test.Getnum()<<endl;;

}

3 、下列程序运行的结果是_中 优 及格 良__________

     #include <iostream.h>

#include <string.h>

#include <iomanip.h>

class student

{char name[8];

int deg;

char level[7];

friend class process; // 说明友元类

public:

student(char na[],int d)

{ strcpy(name,na);

deg=d;

}

};

class process

{ public:

void trans(student &s)

{int i=s.deg/10;

switch(i)

{case 9:

strcpy(s.level, "优");break;

case 8:

strcpy(s.level,"良");break;

case 7:

strcpy(s.level,"中");break;

case 6:

strcpy(s.level,"及格");break;

default:

strcpy(s.level,"不及格");

}

}

void show(student &s)

{cout<<setw(10)<<s.name<<setw(4)<<s.deg<<setw(8)<<s.level<<endl;}

};

void main()

{ student st[]={student("张三",78),student("李四",92),student("王五

",62),student("孙六",88)};

process p;

cout<<"结 果:"<<"姓名"<<setw(6)<<"成绩"<<setw(8)<<"等级"<<endl;

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

{ p.trans(st[i]);

p.show(st[i]);}

}

 

 

 

 

二、编程题

1.

 (1) 编写一个类,声明一个数据成员和一个静态数据成员。让构造函数初始化数据成员,并把静态数据成员加1,让析构函数把静态数据成员减1。

 (2) 根据(1)编写一个应用程序,创建三个对象,然后显示它们的数据成员和静态数据成员,再析构每个对象,并显示它们对静态数据成员的影响。

 (3) 修改(2),让静态成员函数访问静态数据成员,并让静态数据成员是保户的。

2.

 (1) 下述代码有何错误,改正它。

#include < iostream>

using namespace std;

class Animal;

void SetValue(Animal&, int);

void SetValue(Animal&, int, int);

class Animal

{

public:

    friend void SetValue(Animal&, int);

protected:   //改成public

int itsWeight;

int itsAge;

};

void SetValue(Animal& ta, int tw)

{

    a.itsWeight = tw;

}

void SetValue(Animal& ta, int tw, int tn)

{

    ta.itsWeight = tw;

    ta.itsAge = tn;

}

int main()

{

    Animal peppy;

    SetValue(peppy, 5);

    SetValue(peppy, 7,9);

 

return 0;

}

 

 (2) 将上面程序中的友员改成普通函数,为此增加访问类中保护数据的成员函数。

3. 重新编写下述程序,使函数Leisure()成为类Car和类Boat的函数。作为重新编程,在类Car和类Boat中,增加函数set()。

   

#include < iostream>

using namespace std;

class Boat;

class Car

{

public:

    Car(int j){size = j;}

    friend int Leisure(int time, Car& aobj, Boat& bobi);

protected:

    int size;

class Boat

{

public:

    Boat(int j){size = j;}

    friend int Leisure(int time, Car& aobj, Boat& bobj);

protected:

    int size;

};

int Leisure(int time, Car& aobj, Boat& bobi)

{

    return time * aobj.size *bobi.size;

}

};

int main()

{

    Car c1(2);

    Boat bl(3);

    int time = 4;

    cout << Leisure(time, cl,bl);

 

return 0;

}

 

这篇关于homework day6的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685735

相关文章

10天速通Tkinter库——Day6:《植物杂交实验室》整体框架介绍

目录 整体介绍 1. 应用程序主窗口 1.1 主页面初始化 1.2 数据加载 1.3 子页面初始化 1.4 页面跳转和程序关闭处理  1.4 PVZ_HL.py完整代码 2. 动画加载 3. 游戏主界面 4. 通用组件 5. 总结 整体介绍 一不小心就拖更了五天,私密马赛。但你们知道这五天我都是怎么过的吗,我起早贪黑(起不来一点),每天勤勤恳恳撸代码,做设计(谁家好人

day6 测试基础知识积累

JMeter 服务端系统性能测试是针对服务器端应用程序或服务 在特定负载下的运行能力和稳定性进行评估的方法。 产品文档应该有产品的性能指标,做性能测试前,如果需求文档没有性能指标则要向产品团队要。服务端系统性能测试 的常见指标有:TPS、响应时长、并发连接和并发用户、CPU\内存\磁盘\网络 负载。 TPS(transaction per second): 是服务端每秒处理请求的数量;最直观

JAVA学习笔记DAY6——SSM_Spring

文章目录 技术体系结构单体架构分布式架构 框架 FrameworkSpringIoc容器和核心概念组件Spring管理组件优点Spring Ioc 容器和容器实现普通容器复杂容器SpringIoc容器具体接口和实现类SpringIoc 容器管理配置方式 SpringIoc Ioc DI Spring Ioc 实践和应用Spring Ioc创建步骤配置信息实例化 DI 依赖注入单个构造函数参数

奋战杭电ACM(DAY6)1010

纠结了两天的题,一开始自己想不出来,上网搜前辈的解题报告,没看懂…… 对算法掌握太少了,知道知识点是深度优先遍历(DFS)和剪枝(本题特殊在奇偶剪枝),于是花了一天的时间学习这两个知识点,到处翻书哇!!于是还是没做出来……但是又结合前辈的解题报告,这次能看懂了!! 然后自己做,失败2次……第三次解决了!!提交,一次AC!! 作对这道题成就感胜过昨天AC4到啊!! 总结一下,本题的思路还是很

HDU-1074 Doing Homework 状态压缩DP

题目链接 题目大意: 有n个作业,每个作业有各自的完成期限与完成所需时间。每个作业每超过完成期限一个单位时间扣1学分,问怎么安排完成作业顺序使得所扣学分最少。 由于n小于等于15 状态少 明显可以用二进制压缩状态枚举排列 要注意的 答案相同要按作业名字典序排。 #include <stdio.h>#include <string.h>#include <iostre

day6 C++

相关概念:保持已有类的特征,在原来的基础上,增加新的特征,从而构造出新的类的过程,称为继 C++day6 继承:目的 1:实现代码的复用性 2:建立父类和子类之间的联系 3:通过继承,实现子类对父类的重写,从而实现多态 相关概念:保持已有类的特征,在原来的基础上,增加新的特征,从而构造出新的类的过程,称为继承/派生。 被继承者---------->父类 /基类 base 继承者 -----

化为实习day6

经过一个周末的休息,实在是不想上班,虽然上班什么都没干,就是看看书。今天也没接触到项目,还是在看书,看了JQuery,感觉JQuery这个框架还是挺不错的,使JavaScript简单多了。今天主要看的内容是jQuery选择器,类似于CSS选择器。使我们的页面更简洁,而且他的处理机制也是异常强大,更加灵活的操纵html 中的元素。jQuery选择器也是jQuery的一个非常重要的优点,在前端面试的时

python 学习 三国演义词频显示 DAY6

import jieba txt = open(r"C:\Users\lenovo\Desktop\threekingdoms.txt","r",encoding="utf-8").read() excludes = {"将军","却说","二人","不可","荆州","不能","如此"} words = jieba.lcut(txt) counts = {} for word in w

代码随想录算法训练营Day6| 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

242.有效的字母异位词 知识点补充: 1.遍历HashMap中的值: HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); for(Integer num:map.values()){ } 2.遍历HashMap的键: HashMap<Integer,Integer> map = new HashMap<Integer,I

pta 天梯赛 7-2 装箱问题 (20 分)day6

假设有N项物品,大小分别为s1​​ 、s​2 、…、si 、…、s​N,其中s​i为满足1≤s​i≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。 输入格式: 输入第一行给出物品个数N(≤1000