【C++】——类与对象(二)

 🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯第一题:

🎯 第二题:

🎯 第三题:

🎯 答案:

💻第一题:

💻第二题:

💻第三题:

🎯第一题:

现有一学生类定义, 分别实现类的构造函数、拷贝构造函数(深拷贝)、析构函数及显示函数;分别用构造函数及拷贝构造函数创建对象,并输出对象信息。效果如图:

🎯 第二题:

声明一个Student类,在该类中包括数据成员name(姓名),score(分数)、两个静态数据成员total_score(总分)和count(学生人数);一个静态成员函数average()用于求全班成绩的平均值。在main函数中,输入某班(3个)同学的姓名成绩,输出全班学生的成绩之和及平均分。效果如图:

🎯 第三题:

设计一个坐标系点类Point,友元函数dis计算给定两个坐标点的距离;在主程序中创建类Point的两个点对象p1和p2;计算两个点之间距离并输出。效果如图:

🎯 答案:

💻第一题:

#include <iostream>

#include <cstring>

using namespace std;

class Student {

 public:

 Student(int id,string name,char* addr);

 Student(const Student& other);

 ~Student();

 void show();

 private:

 int _id;

 string _name;

 char *_addr;

};

Student::Student(int id,string name,char* addr) {

 cout<<"调用构造函数"<<endl;

 _id=id;

_name=name;

int len =strlen(addr)+1;

_addr=new char[len];

memset(_addr,0,len);

strcpy(_addr,addr);

}

Student::Student(const Student& another) {

 cout<<"调用拷贝构造函数"<<endl;

_id=another._id;

_name=another._name;

int len=strlen(another._addr)+1;

_addr=new char[len];

strcpy(_addr,another._addr);

}

void Student::show() {

 cout<<_id<<" "<<_name<<" "<<_addr<<endl;

}

Student::~Student() {

 cout<<"调用析构函数"<<endl;

 if(_addr!=NULL)

 delete []_addr;

}

int main() {

 char *p = "beijing";

 Student stuA(123456,"zhangsan",p);

 cout<<"stuA:";

 stuA.show();

 Student stuB(stuA); //使用sheepA初始化新对象sheepB

 cout<<"stuB:";

 stuB.show();

 return 0;

}

💻第二题:

#include <iostream>

using namespace std;

class Student {

 public:

 Student(string _name,int _score);

 static float average();

 static float total_score;

 static int count;

 private:

 string name;

 float score;

};

Student::Student(string _name,int _score){

name=_name;

score=_score;

total_score+=score;

count++;

}

float Student::total_score=0.0;

int Student::count=0;

float Student::average(){

return (total_score/count);

}

int main() {

 string name;

 float score;

 cout<<"input name,socre:";

 cin>>name>>score;

 Student stu1(name,score);

 cout<<"input name,socre:";

 cin>>name>>score;

 Student stu2(name,score);

 cout<<"input name,socre:";

 cin>>name>>score;

 Student stu3(name,score);

 cout<<"total_socre:"<<Student::total_score<<",average:"<<Student::average()<<endl;

 return 0;

}

💻第三题:

#include <iostream>

#include <cmath>

using namespace std;

class Point {

 friend float dis(Point &p1,Point &p2);

 public:

 Point(float x,float y);

 ~Point();

 private:

 float _x;

 float _y;

};

Point::Point(float x=0,float y=0):_x(x),_y(y) {

 cout<<"初始化坐标点"<<endl;

}

Point::~Point() {}

float dis(Point &p1,Point &p2) {

float d=sqrt((p1._x-p2._x)*(p1._x-p2._x)+(p1._y-p2._y)*(p1._y-p2._y)); 

return d;

}

int main() {

 Point p1(5,5);

 Point p2(10,10);

 float distance=dis(p1,p2);

 cout<<"两点间距离是:"<<distance<<endl;

 return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/127515.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于element-plus定义表格行内编辑配置化

文章目录 前言一、新增table组件二、使用步骤 前言 在 基于element-plus定义表单配置化 基础上&#xff0c;封装个Element-plus的table表格 由于表格不同于form组件&#xff0c;需自定义校验器&#xff0c;以下组件配置了单个校验&#xff0c;及提交统一校验方法&#xff0c;且…

python核心编程速记【笔记迁移】

笔记速记 1.python非常注重缩进&#xff0c;这是它的显著特征之一。 2.import相当于头文件声明模块。 3.利用type函数 type(a)可以查看当前变量类型。 isinstance可以比较两个数据类型并返回一个布尔值。 4.这里面的可直接使用and和or作为一个函数 5.python的算法比较贴合…

新生儿疝气:原因、科普和注意事项

引言&#xff1a; 新生儿疝气是一种在婴儿中相对较常见的状况&#xff0c;很多新父母可能对这一现象感到困惑和焦虑。疝气发生时&#xff0c;内腹腔的一部分可能穿过腹壁的弱点&#xff0c;导致腹部出现凸起。本文将科普新生儿疝气的原因&#xff0c;提供相关信息&#xff0c;…

Jenkins CICD过程常见异常

1 Status [126] Exception when publishing, exception message [Exec exit status not zero. Status [126] 1.1 报错日志 SSH: EXEC: STDOUT/STDERR from command [/app/***/publish.sh] ... bash: /app/***/publish.sh: Permission denied SSH: EXEC: completed after 200…

PHP 使用递归方式 将其二维数组整合为层级树 其中层级id 为一个uuid的格式 造成的诡异问题 已解决

不啰嗦 直接上源代码 <?php function findChildren($list, $p_id){$r array();foreach ($list as $k > $item) {if ($item[fid] $p_id) {unset($list[$k]);$length count($r);$r[$length] $item;if ($t findChildren($list, $item[id])) {$r[$length][children] …

基于SSM的学生档案管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

android开发布局知识

插件开发的视频笔记&#xff1a;

跨境电商一定要做跨境独立站的6个原因!一键对接电商API接口瞬间拥有全球各大平台几十亿商品

跨境电商为什么要做独立站&#xff1f;它的优势又有哪一些&#xff1f; 如果说我们的企业是做BtoB的跨境电商&#xff0c;那今天这个内容一定要看仔细。 拥有了独立站你就是最高权力者&#xff0c;一切尽在自己掌控中&#xff01; 第一呢&#xff0c;独立站它就是我们自己做的…

IP行业API助力于网络分析和数据挖掘

引言 在当今数字化时代&#xff0c;数据成为了企业、科研机构和政府决策者的重要资源&#xff0c;而IP行业API则成为了数据分析及挖掘的工具之一。IP行业API是一种能够查询IP地址所属的行业分类信息的应用程序接口&#xff0c;它能够提供在网络分析、用户行为分析及大数据挖掘…

【PG】PostgreSQL13主从流复制部署(详细可用)

目录 版本 部署主从注意点 1 主库上创建复制用户 2 主库上修改pg_hba.conf文件 3 修改文件后重新加载配置使其生效 4 主库上修改配置文件 5 重启主库pg使参数生效 6 部署从库 7 备份主库数据至从库 停止从库 备份从库的数据库目录 新建数据库数据目录data 创建和…

客户服务质量提升的三种思路

客户服务质量是企业在市场竞争中立于不败之地的重要因素之一&#xff0c;优秀的客户服务不仅可以提高客户满意度&#xff0c;还可以提高客户黏度和回头率。随着经济的发展&#xff0c;客户服务行业也在不断发展壮大。在这个竞争激烈的行业中&#xff0c;企业如何提高客户服务质…

送水服务预约小程序内容该如何做

无论小区还是办公楼等场景&#xff0c;送水服务往往有较高需求&#xff0c;同时该服务属于长期稳定性的&#xff0c;因此对品牌来说&#xff0c;如何打造品牌获取更多用户及转化非常重要&#xff0c;然而在实际订水过程中&#xff0c;又会面临着一些难题&#xff1a; 1、品牌传…

基于SSM的学院就业信息网设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【FPGA】正确处理设计优先级--或许能帮你节省50%的资源

概述 假如现在有一种方法–可以在不怎么需要修改已有设计的情况下&#xff0c;就可以帮您节省50%的设计资源&#xff0c;那你会试试看吗&#xff1f; 当前市场环境下&#xff0c;更低廉的成本却可获得同等性能无疑是极具诱惑的。本文将介绍一种FPGA设计技术&#xff0c;该技术…

docker创建并访问本地前端

docker创建并访问本地前端&#xff0c;直接上命令&#xff1a; 安装nginx镜像&#xff1a; docker pull nginx 查看已安装的nginx&#xff1a; docker images 创建DockerFile文件&#xff0c;直接在当前文件夹种创建 touch Dockerfile 在Dockerfile写入内容&#xff1a; F…

ISP算法——UVNR

ISP算法——UVNR 概念简介 UVNR也就是经过CSC只有在YUV域对UV两个色域进行降噪&#xff0c;在有些方案里也叫CNR&#xff08;chroma noise reduction&#xff09;。主要就是在YUV域针对彩燥进行特殊处理的一系列算法。 关于噪声产生的原因在前面关于降噪的文章和视频中已经做…

Redis系列-Redis性能优化与安全【9】

目录 Redis系列-Redis性能优化与安全【9】Redis性能优化策略Redis安全设置与防护措施Redis监控与诊断工具介绍 七、Redis应用案例与实战八、Redis未来发展与趋势 个人主页: 【⭐️个人主页】 需要您的【&#x1f496; 点赞关注】支持 &#x1f4af; Redis系列-Redis性能优化与安…

基于Springboot的智慧食堂设计与实现(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的智慧食堂设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项…

数据结构: unordered_map与unordered_set

目录 1.框架 2.结构 unordered_map unordered_set 3.对HashTable的修改 更改模板参数 4.增加迭代器 a.结构 b.运算符重载 c.HashTable封装迭代器 d.unordered_map与unordered_set的迭代器 1.框架 1.复用HashTable ~~> 增加模板参数KeyOfT 来获取 Key值 unorder…

『Nacos』 入门教程

前言 本文为 Nacos 平台快速入门教程&#xff0c;本文将会使用通俗易懂的语言手把手带您了解、使用 Nacos 平台&#xff0c;适合未接触过 Nacos 的初学者 官方手册&#xff1a;Nacos | Nacos 官方仓库&#xff1a;alibaba/nacos 版本&#xff1a;2.X 本文示例代码仓库&#xf…