分享记录自己的C++作业 实验二 类与对象(1)

C++程序设计作业--坦克大战[分享] 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar 阅读详情

目录

实验内容:

解答:

1.答案:

2.

2.1 student.h

2.2 student.cpp

2.3 main.cpp

3.答案

3.1 arraymax.h

3.2 arraymax.cpp

3.3 file.cpp

4.答案


分享原因:

本人就在继续走C++的路上,感觉c++的类和对象对新手来讲比较抽象,所以特此分享给大家一些正在做的作业实验题目,希望能对刚开始学习c++的小伙伴有点帮助吧

实验内容:

二.实验内容

1、请检查下面程序,找出其中的错误(先不要上机,自己先检查),并改正之。然后上机调试,使之能正常运行,运行时从键盘输入时、分、秒的值,检查输出是否正确。

#include <iostream>

using namespace std;

class Time

{

       int hour;

       int minute;

       int sec;

       void set_time();

       void show_time();

};

Time t;

int main( )

{                                    

       set_time();

       show_time();

       return 0;

}

void set_time()

{

       cin>>t.hour;

       cin>>t.minute;

       cin>>t.sec;

}

void show_time()

{

       cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;

}
2、分别给出如下的3个文件:

(1)、含类定义的头文件student.h,

class Student                            //类声明       

{ public:

void display( );                  //公用成员函数原型声明

private:

int num;

char name[20];    

char sex;                           

};

(2)、包含成员函数定义的源文件student.cpp,

#include <iostream>

using namespace std;

#include "student.h"              //不要漏写此行,否则编译通不过

void Student::display( )                 //在类外定义display类函数

{cout<<"num:"<<num<<endl;         

cout<<"name:"<<name<<endl;

cout<<"sex:"<<sex<<endl;  

}

(3)、包含主函数的源文件main.cpp,

为了组成一个完整的源程序,应当有包含主函数的源文件:

#include "student.h"                  //将类声明头文件包含进来

int main( )

{Student stud;                       //定义对象

stud.display( );                     //执行stud对象的display函数

return 0;

}

请完善该程序,在类中增加一个对数据成员赋予初值的成员函数 set_value。上机调试并运行。

3. 将本章中的例2.4 改写为一个多文件的程序:(代码放下面)

#include <iostream>
using namespace std;
class Array_max      //声明类
{
public:             //以下3行为成员函数原型声明
    void set_value();//对数组元素设置值
    void max_value();//找出数组中的最大元素
    void show_value();//输出最大值
private:
    int array[10];//整型数组
    int max;//max用来存放最大值的
};
       
void Array_max::set_value()//成员函数定义,向数组元素输人数值有
{
    int i;
    for (i = 0;i < 10;i++)
        cin >> array[i];
}
void Array_max::max_value()//成员函数定义,找数组元素中的最大值
{
    int i;
    max = array[0];
    for (i = 1; i < 10; i++)
        if (array[i] > max)
            max = array[i];
}
    void Array_max::show_value()//成员函数定义,输出最大值
    {cout<<"max="<<max;}
    
    int main()
    {
        Array_max arrmax;//定义对象
        arrmax.set_value();//调用arrmax的set value函数,向数组元素输入数值
        arrmax.max_value();//调用arrmax的max_value函数,找出数组元素中的最大值
        arrmax.show_value();//调用arrmax的show_value函数,输出数组元素中的最大值
            return 0;
    }

(1)将类定义放在头文件arraymax.h中;

(2)将成员函数定义放在源文件arraymax.cpp中;

(3)主函数放在源文件file1.cpp中。

请写出完整的程序,上机调试并运行。

4、需要求三个长方柱的体积,请编写一个基于对象的程序,数据成员包括length(长)、width(宽)、height(高)。

要求用成员函数实现以下功能:

(1)、由键盘输入三个长方柱的长、宽、高;

(2)、计算三个长方柱的体积;

(3)、输出三个长方柱的体积;

解答:

1.答案:

#include <iostream>

using namespace std;

class Time

{
private:
    int hour;

    int minute;

    int sec;
public:
    void set_time();

    void show_time();

};

Time t;

int main()

{

    t.set_time();

    t.show_time();

    return 0;

}

void Time::set_time()

{

    cin >> t.hour;

    cin >> t.minute;

    cin >> t.sec;

}

void Time::show_time()

{

    cout << t.hour << ":" << t.minute << ":" << t.sec << endl;

}

2.答案

2.1 student.h

#include<iostream>

using namespace std;
class Student                            //类声明       

{
public:
    
    void display();                  //公用成员函数原型声明
    void set_value();

private:

    int num;

    char name[20];

    char sex[1];

};

2.2 student.cpp

//(2)、包含成员函数定义的源文件student.cpp,

#include <iostream>

using namespace std;

#include "student.h"              //不要漏写此行,否则编译通不过

void Student::display()                 //在类外定义display类函数

{
    cout << "num:" << num << endl;

    cout << "name:" << name << endl;

    cout << "sex:" << sex << endl;

}

void Student::set_value()
{
    cin >> num;
    cin >> name;
    cin >> sex;
}

2.3 main.cpp

//(3)、包含主函数的源文件main.cpp,
//为了组成一个完整的源程序,应当有包含主函数的源文件:

#include "student.h"                  //将类声明头文件包含进来

int main()

{
    Student stud;                       //定义对象
    stud.set_value();
    stud.display();                     //执行stud对象的display函数

    return 0;

}

3.答案

3.1 arraymax.h

#include <iostream>
using namespace std;
class Array_max      //声明类
{
public:             //以下3行为成员函数原型声明
    void set_value();//对数组元素设置值
    void max_value();//找出数组中的最大元素
    void show_value();//输出最大值
private:
    int array[10];//整型数组
    int max;//max用来存放最大值的
};

3.2 arraymax.cpp

#include"arraymax.h"
void Array_max::set_value()//成员函数定义,向数组元素输人数值有
{
    int i;
    for (i = 0; i < 10; i++)
        cin >> array[i];
}
void Array_max::max_value()//成员函数定义,找数组元素中的最大值
{
    int i;
    max = array[0];
    for (i = 1; i < 10; i++)
        if (array[i] > max)
            max = array[i];
}
void Array_max::show_value()//成员函数定义,输出最大值
{
    cout << "max=" << max;
}

3.3 file.cpp

#include<iostream>
#include"arraymax.h"
int main()
{
    Array_max arrmax;//定义对象
    arrmax.set_value();//调用arrmax的set value函数,向数组元素输入数值
    arrmax.max_value();//调用arrmax的max_value函数,找出数组元素中的最大值
    arrmax.show_value();//调用arrmax的show_value函数,输出数组元素中的最大值
    return 0;
}

4.答案

#include<iostream>
using namespace std;
class V
{
public:
    void set_value() {
        cout << "请分别输入长方形的长、宽、高:" << endl;
        cin >> length;
        cin >> width;
        cin >> height;
        
    };
    
    void count_display() {    
        cout <<length * width * height << endl;
    };

private:
    double length;
    double width;
    double height;

};

int main() {
    V v1, v2, v3;
    v1.set_value();
    cout << "长方形1的体积" << endl;
    v1.count_display();
    v2.set_value();
    cout << "长方形2的体积" << endl;
    v2.count_display();
    v3.set_value();
    cout << "长方形3的体积" << endl;
    v3.count_display();   
}

分享一个简易的程序日志记录C++类 最近一直在忙实验室的项目开发,很少上博客了,现在总算有一定时间空出来做些总结,今天起陆续更新博客,总结一下半年多来的学习心得。 今天先分享一个简易的程序日志记录类,参考自《一个简单又高效的日志系统》,针对项目本身做了一定的修改和补充,编程水平有限,仅供参考,呵呵 。 头文件: #ifndef _INFO_LOGGER_H_ #define _INFO_LOGGER_H_ /** 阅读详情

相关推荐

《C++面向对象程序设计》习题答案-第二章--谭浩强-清华大学出版社.docx

《C++面向对象程序设计》习题答案-第二章--谭浩强-清华大学出版社.docx

C++实例——第五章

程序结构和数据共享两条主线 变量和对象定义在不同位置 函数体内、类体内、函数原型参数表内、所有函数和类之外 其作用域、可见性、生存期都不同 属于整个类的数据成员——静态数据成员 用于处理静态数据成员的函数——静态成员函数 友元:对一些类外的函数、其他的类,给予授权,使之可以访问类的私有成员 const关键字,限制对共享数据的修改。

weixin_45965693的博客 408

Keil5保姆级安装指南:从破解到STM32开发环境配置(附常见错误解决方案)

本文提供Keil5从安装到STM32开发环境配置的完整指南,包含破解步骤、常见错误解决方案及多芯片支持配置。详细讲解环境预检、核心安装、许可证管理及高效开发环境设置,帮助开发者快速搭建嵌入式开发平台。特别针对安装和卸载过程中的关键问题提供专业解决方案。

weixin_30369041的博客 124

【C++习题笔记】谭浩强C++程序设计(第三版)第八章

本文是谭浩强老师c++程序设计(第三版)第八章的习题总结,主要涉及类的基础知识。 1. 请检查下面程序,找出其中的错误(先不要上机,在纸面上作人工检查),并改正之。然后上机调试,使之能正常运行。运行时从键盘输入时、分、秒的值,检查输出是否正确。 原程序: #include &lt;iostream&gt; using namespace std; class Time { void se...

zl3090的博客 1万+

MATLAB图像去噪实战:如何用巴特沃斯滤波器完美去除横条纹(附完整代码)

本文详细介绍了如何使用MATLAB中的巴特沃斯滤波器有效去除图像中的横条纹噪声。通过频域分析和滤波处理,结合完整的代码示例,帮助读者掌握从噪声分析到参数优化的全流程技术,实现高质量的图像去噪效果。

weixin_30566063的博客 562

STM32F103单片机驱动TM1637数码管显示模块

最近项目中需要用到数码管显示,于是买了一个TM1637芯片驱动的四位数码显示模块,现将调试过程记录一下,方便以后参考。 使用的单片机是STM32F103C8T6最小系统 使用的数码管模块是TM1637四位数码管显示模块 实际运行效果 下面先看一下TM1637和数码管连接的具体线路图 实际使用的模块没有带按键,只用了4个数码管,模块和单片机连接只需要4根线VCC、GND、CLK、DIO。芯片和单片机通信使用的是I2C总线,下面就来说一下如何...

HXYDJ的博客 1万+

XTU-JAVA课后练习答案三

XTU-JAVA课后练习答案

xuanyulevel6的博客 787

深度学习模型轻量化方法之【量化】

量化虽然有着硬件友好和功效提升的特点,但它也引入了模型性能的折衷。因此,设计有效的量化策略需要在模型大小、性能以及运算速度之间做出平衡。随着深度学习算法和硬件加速技术的快速发展,量化方法在使深度网络轻量化和提高部署效率方面持续发挥着重要作用。

m0_73916791的博客 2847

C++面向对象的程序设计谭浩强 第三章课后题

2.分析下面的程序,写出其运行时的输出结果。 #include <iostream> using namespace std; class Date {public: Date(int,int,int); Date(int,int); Date(int); Date( ); void display( ); private: int month; int day; int year; }; Date∷Date(int m,int d,int y):month(m),day(d),year

qq_50119037的博客 9602

PT:pt write_change to innovus 脚本

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1526

Android功耗系列专题分析之四:待机概率性功耗高的失效分析

本文分析了Android设备待机功耗异常高的问题。通过日志发现系统休眠失败,原因是PowerManagerService.Display唤醒锁未被释放。进一步排查发现,指纹解锁功能在灭屏时未正确释放屏幕锁定,导致DisplayReady状态异常。解决方案是将指纹功能的背光控制与DisplayReady状态控制分离,使用两个变量独立管理。经验表明,快速定位问题比解决问题更重要,修改原生流程时需谨慎评估风险。

451

C++实验6——继承与派生

大一时写的,很菜。 学习定义和使用类的继承关系,定义派生类; 学习利用虚基类解决二义性问题。 熟悉不同继承方式下对基类成员的访问控制;

木子一个Lee的博客 3819

Jetson Nano之CSI摄像头操作方法

jetson端csi摄像头的应用方法

ZONGXP的博客 1万+

《C++程序设计上机实践及学习辅导》实验报告

《C++程序设计上机实践及学习辅导》实验报告 额…本人某普通一本大一新生,刚接触C++,学期末作业是这本书的实验报告,其中有十几个实验内容,这是我们新生第一学期的课,所以内容也很基础。但我也是新接触,外加C++课上走神无数次所以现在也算是在自学完成作业,便在这里记录一下自己的学习过程。还请各位大佬多多指教,希望自己能在这条路上一直走下去。 2020.12.30,19:35. 一、简单程序设计 1.编写程序,计算圆的面积,半径从键盘输入。 #include<iostream> using .

Ws_Te47的博客 7776

RK3588 部署 YOLO26 目标检测:从环境搭建到 NPU 推理

采集图像(500+ 张,覆盖不同光照和角度)→ 筛选(删除模糊、无目标的图像)→ LabelImg 标注(选择 YOLO 格式)→ 划分 train:val:test = 7:2:1labelImg├── train/├── val/nc: 3类别顺序必须与 LabelImg 标注时一致。YOLO26 在 RK3588 上的部署流程是 PC 端训练 → ONNX 导出(opset=11)→ RKNN 转换(INT8 量化)→ 板端推理。

LXY_LOVE36的博客 418

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

从课程作业到LLM推理:一个研二学生的C++实践笔记

大家好,我是Dream。转眼间已经研二了,本科学的计算机,说实话当时C++学得挺痛苦的。指针、内存管理、模板这些东西,考试前临时抱佛脚勉强过了。真正让我重新拾起C++,是因为今年上半年做课题需要跑大模型,导师给的服务器GPU不够用,我就想着能不能优化一下推理速度。这一折腾,反而让我发现了C++在AI时代的价值。不夸张地说,现在主流的LLM推理框架,底层基本都是C++写的。作为一个研究生,我觉得这个方向挺值得深入的,就把自己这几个月的摸索记录下来。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 3万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

类与对象——(1)初识对象——C++中的string

类与对象——(1)初识对象——C++中的string

一个正在学习C/C++的博主 872

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【C++算法】类与对象通用题目解析分享

本文介绍了五个日期和数字计算相关的编程题目解法: 求1+2+...+n:利用C++构造函数特性,通过创建n个对象实现累加,规避了循环和条件判断的限制。 计算一年的第几天:通过预设每月累计天数表,结合闰年判断实现快速计算。 日期差值计算:先计算完整年份天数,再处理不完整年份的天数,注意闰年判断和闭区间处理。 打印日期:根据年份和天数确定具体日期,处理闰年2月特殊情况,注意输出格式。 日期加天数:采用逐日累加并自动进位的方法,动态调整月份和年份,处理闰年2月变化。 这些题目展示了日期处理中的常见技巧,包括: 静

欢迎来到我的博客,私信我可以一起交流技术 1102

C++类与对象板块的初步学习记录

1. 什么是类呢?相关教材中这样写到:“类是一种数据类型,用于存储数据和定义行为。它类似于现实世界中的对象,包含有关该对象的数据(称为成员变量)以及与该对象交互的操作(称为成员函数)”这样的定义行为看起来有点抽象,难以理解,我个人是用了下图的实例来理解↓像上图的绿色部分一样,“访问”就是一种行为,而“私有的”,“受保护的”就是一种定义,通过这样的定义行为,达成与“对象”进行有效交互的目的。2.那么类又有什么特点呢?封装性、继承性、多态性。

2401_86931665的博客 969

java数组实验心得体会_C++基础实验报告

目 录实验1 编程环境的熟悉及简单 C++程序的编制 11.1 实验目的和要求 11.2 所占学时数 11.3 实验任务(实验指导书中涂红色的部分) 11.3.1 任务一 11.3.1 任务二 4实验2 函数的应用 62.1 实验目的和要求 62.2 所占学时数 62.3 实验任务(实验指导书中涂红色的部分) 62.3.1...

weixin_39890543的博客 982

C++程序设计上机指导实验作业记录

其实本来是没有要发文的想法的,只是前几天在优快云上面CTRL C CTRL V的时候有幸见识了一个用同一本书的大佬,所以决定东施效颦一下,记录自己的学习过程。这是第一个程序,教会了我不要乱带括号,因为先算(5/9)会导致它取整数部分等于0(可能是因为写题的时候被荼毒太深)。PS:因为我们老师说每个实验里面的第一个是语句什么的都全着的,就不用编了,所以很多实验里面的第一个程序都没有。本人某大学大一新生,上大学前从来没摸过编程,并且很菜,在编的过程中如果有不对的地方还请各位大佬多多指点。

2201_75413278的博客 419

【类和对象(下)】C++类与对象的进阶艺术:初始化列表到性能优化的完全指南

自定义类型(类类型)会去调用它的对应的默认构造。

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 3174

C++从零开始(day3)——类和对象处认识

C语言中结构体只能定义变量,而c++中,结构体不仅可以定义变量,还可以定义函数,;在C++中class为定义类的关键词,student为类的名字,{}是类的主体,要注意的是{}后的;不能省略类体中的内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数被称为类的方法或成员函数类的两种定义

2301_80764270的博客 1453

【C/C++】类和对象(上):(二)实例化——类实例化出对象,对象大小,this指针,对比C++/C两种语言实现Stack

通过上面的C/C++这两份代码之间的对比,我们不难看出:C++实现Stack在形态上还是发生了挺多的变化,底层和逻辑上没有什么变化。

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 1715

C++ 课程作业 类与对象1—类的组合(求解矩形的面积)

首先是题目 【问题描述】 设计一个CRectangle类,其中包括CPoint类的两个对象成员,表示左上角和右下角的两个点。要求求解矩形的面积。 注意,每个类的构造函数、拷贝构造函数需要输出“*** is called”,具体的请根据输出进行分析。 main函数已经给定如下。(略) 然后是 ...

salix_mark的博客 1604

分享个C++日志记录类以及日志记录程序

前言 个人觉得开发中比较重要的一点就是“不要重复发明轮子”,现在国外、国内开源软件遍地开花,尤其是Google,开源了一系列性能、架构特别好的代码,如果能够用开源的应该尽量避免自己造轮子。那么为什么不用log4plus呢?在这里我需要的是一个简单实用、轻巧的日志记录程序,log4plus对我有点臃肿,所以才自己花店时间写了一个简单的日志记录类。 日志类实现 刚开始想的是为了避免大量的读写程序

https://github.com/JelinYao 1万+
上一篇: 回文数 leetcode 力扣
下一篇: 盛最多水的容器
阿桃的网络日记
博客等级 码龄5年 36粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值