C++重点和练习

 作业题目:

#include <iostream>
using namespace std;
class Rec
{const int length;int width;
public:void set_length(int l);void set_width(int w);int get_length();int get_width();void show();
};#include <iostream>
using namespace std;
class Cir
{int &r;
public:void set_r(int r);  //设置私有属性r的值void show(double PI=3.14);   //参数有默认值3.14
};#include <iostream>
using namespace std;
class Car  //类名首字母一般大小
{string color;string brand;int speed;
public:void set(string c,string b,int s);void display();void acc(int a);
};

答案:

#include <iostream>using namespace std;class Rectangle
{const int length;int width;
public:
//    void set_length(int len);Rectangle(int length):length(length){}void set_width(int wid);int get_length();int get_width();void show();
};//Rectangle R3;
//void Rectangle::set_length(int len)
//{
//   length = len;
//}void Rectangle::set_width(int width)
{this->width = width;
}int Rectangle::get_length()
{return length;
}
int Rectangle::get_width()
{return width;
}
void Rectangle::show()
{cout << this << endl;int s = 2*(width+length);int area = width*length;cout << "周长:" << s << "\t"<< "面积:" << area << endl;
}class Circle
{int &r;
public:Circle(int &r1):r(r1){}void set_r(int tr);void show(float PI = 3.14);
};void Circle::set_r(int tr)
{r = tr;
}
void Circle::show(float PI)
{float s = PI*2*r;float area = PI*r*r;cout << "周长:" << s << "\t"<< "面积:" << area << endl;
}class Car
{string color;string brand;float speed;
public:Car():color("red"),brand("玛莎拉蒂"),speed(360){}void display();void acc(int a);void set_color(string c);void set_brand(string b);void set_speed(float s);};void Car::display()
{cout << "颜色:" << color << "\t"<< "品牌:" << brand << "\t"<< "速度:" << speed<< endl;
}
void Car::set_color(string c)
{color = c;
}
void Car::set_brand(string b)
{brand = b;
}
void Car::set_speed(float s)
{speed = s;
}
void Car::acc(int a)
{speed += a;
}int main()
{Rectangle rec1(3);rec1.set_width(3);cout << "rec1长度:" << rec1.get_length() << "\t"<< "rec1宽度:" << rec1.get_width()  <<endl;rec1.show();int r = 1;Circle r1(r);r1.show();r1.set_r(2);r1.show();Car car1;car1.display();car1.set_color("red");car1.set_brand("奥迪");car1.set_speed(240);car1.display();car1.acc(5);car1.display();return 0;
}

自己定义构造函数:

#include <iostream>
#include <cstdlib>
using namespace std;
class Stu
{int age;double score;
public://Stu(){cout << "Stu的无参构造" << endl;}//实现Stu的有参构造Stu(int age,double score){this->age = age;this->score = score;cout << "Stu的有参构造" << endl;}void show();
};
void Stu::show()
{cout << "age = " << age << endl;cout << "score = " << score << endl;
}
int main()
{//Stu s1;//Stu *p1 = (Stu*)malloc(sizeof(Stu));Stu *p1;cout << "*********" << endl;p1 = new Stu(1,3.14);  // new Stu{1,3.14}也可以  //类中只提供了有参构造,所以new申请空间时必须给初始值可以用{},也可以用()p1->show();//Stu s1(12,31.9);   //调用了有参构造return 0;
}

参数和成员属性同名:

#include <iostream>
#include <cstdlib>
using namespace std;
class Stu
{int age;double score;
public:Stu(int age,double score):age(age),score(score){cout << "Stu有两个参数的有参构造" << endl;}void show();
};
void Stu::show()
{cout << "age = " << age << endl;cout << "score = " << score << endl;
}
int main()
{Stu s2(12,31.9);s2.show();return 0;
}

类中存在引用成员时:
 

#include <iostream>
#include <cstdlib>
using namespace std;
class Stu
{int &age;double score;
public:Stu(int &age,double score):age(age),score(score){cout << "Stu有两个参数的有参构造" << endl;}void show();void set_age(){age=0;}
};
void Stu::show()
{cout << "age = " << age << endl;cout << "score = " << score << endl;
}
int main()
{int age = 18;Stu s2(age,31.9);s2.show();s2.set_age();cout << age << endl;  //局部变量age的值为0,因为类对象中的age引用了该局部变量return 0;
}

类中存在const修饰的成员时:
 

#include <iostream>
#include <cstdlib>
using namespace std;
class Stu
{const int age;double score;
public://Stu():age(23){cout << "Stu的无参构造" << endl;}//实现Stu的有参构造Stu(int age,double score):age(age),score(score){cout << "Stu有两个参数的有参构造" << endl;}Stu(int age):age(age){cout << "Stu有一个参数age的有参构造" << endl;}/*Stu(double score):age(20){this->score = score;cout << "Stu有一个参数score的有参构造" << endl;}*/void show();
};
void Stu::show()
{cout << "age = " << age << endl;cout << "score = " << score << endl;
}
int main()
{int age = 18;Stu s2(age,31.9);s2.show();Stu s1(24);s1.show();return 0;
}

类中存在其他类对象时:

#include <iostream>
using namespace std;
class Stu
{int age;float score;
public:Stu(int age,float score):age(age),score(score){}int get_age(){return age;}double get_score(){return score;}
};
class Person
{const int id;const string name;Stu stu1;
public:Person(int id,string name,Stu stu1):id(id),name(name),stu1(stu1){}Person(int id,string name,int age,float score):id(id),name(name),stu1(age,score){}void show(){cout << "id = " << id << "\t"<< "name = " << name << "\t"<< "age = " << stu1.get_age() << "\t"<< "score = " << stu1.get_score() << endl;}
};int main()
{Stu stu1(18,99.9);Person p1(10086,"张三",stu1);p1.show();Person p2(10085,"李四",19,88.8);p2.show();return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优化你的 3D Tiles:性能与质量的平衡

优化你的 3D Tiles&#xff1a;性能与质量的平衡 在现代的三维场景渲染中&#xff0c;3D Tiles 是一种强大的技术&#xff0c;它能以高效、分级加载的方式呈现海量的三维数据。然而&#xff0c;优化 3D Tiles 以实现性能与质量的平衡&#xff0c;却是一个复杂且关键的任务。本…

无限弹窗?无限重启?

Windows开机自启目录&#xff1a; "%USERPROFILE%\AppData\Roaming\Microsoft\windows\StartMenu\Programs\Startup" 基于这个和 start 命令&#xff0c; shutdown 命令&#xff0c; 编写 bat 病毒程序。 无限弹窗 echo start cmd > hack.txt echo %0 >>…

pdb调试器详解

文章目录 1. 启动 pdb 调试器1.1 在代码中插入断点1.2 使用命令行直接调试脚本 2. 常用调试命令2.1 基本命令2.2 高级命令2.3 断点操作 3. 调试过程示例4. 调试技巧4.1 条件断点4.2 自动启用调试4.2.1 运行程序时指定 -m pdb4.2.2在代码中启用 pdb.post_mortem4.2.3 使用 sys.e…

51c深度学习~合集9

我自己的原文哦~ https://blog.51cto.com/whaosoft/12750420 #傅里叶特征 (Fourier Feature&#xff09;与核回归 位置编码背后的理论解释 本文探讨了位置编码背后的理论基础&#xff0c;特别是傅里叶特征&#xff08;Fourier Feature&#xff09;与核回归&#xff08;Kern…

elasticsearch 使用Painless脚本

文章目录 1. 创建索引2. 插入模拟数据Painless 脚本的基本特点&#xff1a;Painless 脚本的常见用途1. 脚本查询和过滤示例&#xff1a;基于脚本的查询 2. 脚本字段示例&#xff1a;脚本字段 3. 聚合中的脚本示例&#xff1a;脚本聚合 4. 文档更新中的脚本示例&#xff1a;文档…

jmeter CLI Mode 传参实现动态设置用户数

一.需求 CLI 运行模式下每次运行想要传入不同的用户数&#xff0c;比如寻找瓶颈值的场景&#xff0c;需要运行多次设置不同的用户数。 二.解决思路 查看官方API Apache JMeter - Users Manual: Getting Started api CLI Mode 一节中提到可以使用如下参数做属性的替换&#…

【Java Nio Netty】基于TCP的简单Netty自定义协议实现(万字,全篇例子)

基于TCP的简单Netty自定义协议实现&#xff08;万字&#xff0c;全篇例子&#xff09; 前言 有一阵子没写博客了&#xff0c;最近在学习Netty写一个实时聊天软件&#xff0c;一个高性能异步事件驱动的网络应用框架&#xff0c;我们常用的SpringBoot一般基于Http协议&#xff0…

小程序播放设备没有声音

使用在使用小程序播放设备时没有声音请按照以下步骤排查 1、确认设备是否开启麦克风 设备的本地配置页面可以查看麦克风的开启状态&#xff0c;也可以通过其他方式播放检查是否有声音&#xff0c;比如萤石app或者ezuikit&#xff0c;若其他端播放有声音说明设备的麦克风已开启 …

【考前预习】3.计算机网络—数据链路层

往期推荐 【考前预习】2.计算机网络—物理层-CSDN博客 【考前预习】1.计算机网络概述-CSDN博客 浅谈云原生--微服务、CICD、Serverless、服务网格_云原生cicd-CSDN博客 子网掩码、网络地址、广播地址、子网划分及计算_子网广播地址-CSDN博客 浅学React和JSX-CSDN博客 目录 1.数…

bean创建源码

去字节面试&#xff0c;直接让人出门左拐&#xff1a;Bean 生命周期都不知道&#xff01; spring启动创建bean流程 下面就接上了 bean生命周期 doGetBean Object sharedInstance this.getSingleton(beanName); sharedInstance this.getSingleton(beanName, new ObjectF…

iOS swift开发系列 -- tabbar问题总结

1.单视图如何改为tabbar&#xff0c;以便显示2个标签页 右上角➕&#xff0c;输入tabbar 找到控件&#xff0c;然后选中&#xff0c;把entrypoint移动到tabbar控件 2.改成tabbar&#xff0c;生成两个item&#xff0c;配置各自视图后&#xff0c;启动发现报错 Thread 1: “-[p…

【常考前端面试题总结】---2025

React fiber架构 1.为什么会出现 React fiber 架构? React 15 Stack Reconciler 是通过递归更新子组件 。由于递归执行&#xff0c;所以更新一旦开始&#xff0c;中途就无法中断。当层级很深时&#xff0c;递归更新时间超过了 16ms&#xff0c;用户交互就会卡顿。对于特别庞…

直流开关电源技术及应用

文章目录 1. 开关电源概论1.1 开关电源稳压原理1.1.1 开关电源稳压原理核心组成部分及其作用工作过程稳压原理 1. 开关电源概论 1.1 开关电源稳压原理 为了提高效率&#xff0c;必须使功率调整器件处于开关工作状态。 作为开关而言&#xff0c;导通时压降很小&#xff0c;几乎…

汽车嵌入式软件构建高效技术团队的全面思考

在汽车嵌入式软件开发领域&#xff0c;构建一支高效的通用技术团队至关重要。这类团队负责为各种项目提供可复用、标准化的技术基石&#xff0c;从而提高开发效率、降低成本并确保产品质量。构建这样的团队需要从技术能力、角色分工、标准化与复用、流程管理与质量保证、工具和…

SpringBoot左脚进门之Maven管理家

一、概念 Maven 是一个项目管理和整合工具。通过对 目录结构和构建生命周期 的标准化&#xff0c; 使开发团队用极少的时间就能够自动完成工程的基础构建配置。 Maven 简化了工程的构建过程&#xff0c;并对其标准化&#xff0c;提高了重用性。 Maven 本地仓库 (Local Reposi…

活动报名:Voice Agent 开发者分享会丨RTE Meetup

引入 voice agent 的口语学习应用 Speak 估值已达 10 亿美元 Voice Agent 开发者分享会 一同探索语音驱动的下一代人机交互界面&#xff0c;一场 voice agent builder 的小规模深度交流会。 RTE Meetup 迎来第六期&#xff01;12 月 15 日&#xff08;周日&#xff09;上午&…

gentoo安装Xfce桌面

一、安装Xfce 1.选择一个配置文件 参见另一篇“https://blog.csdn.net/my1114/article/details/143919066”&#xff0c;配置文件选择24. 2.安装Xfce (1)root #emerge --ask xfce-base/xfce4-meta 第一次启动登录后时可能还需starx来启动X11 (2)安装slim&#xff08;X11登录管理…

舌头分割数据集labelme格式2557张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;2557 标注数量(json文件个数)&#xff1a;2557 标注类别数&#xff1a;1 标注类别名称:["tongue"] 每个类别标注的框数&#xff1…

【提升工作能力:五大关键要素】

提升工作能力&#xff1a;五大关键要素 在职场中&#xff0c;工作能力强的员工往往能够更高效地完成任务&#xff0c;赢得同事的尊重和领导的信任。那么&#xff0c;如何提升自己的工作能力呢&#xff1f;根据上述内容&#xff0c;我们可以将提升工作能力的关键要素归纳为以下…

【Linux服务器nginx前端部署详解】ubantu22.04,前端Vue项目dist打包

本文主要讲一下在Linux系统环境下&#xff08;以ubantu22.04为例&#xff09;&#xff0c;如何用nginx部署前端Vue项目打包的dist静态资源。有些具体的命令就不展开讲了&#xff0c;可以自行查看其他博主的文章&#xff0c;我主要讲整体的步骤和思路。 一、ubantu系统安装ngin…