C ++类

定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、条件运算符、逻辑运算符、自增自减运算符、插入/提取运算符)

#include <iostream>using namespace std;class person
{int age;string &name;
public:person(string &a):age(18),name(a){}person(int a,string &b):age(a),name(b){}~person(){}person(const person &other):age(other.age),name(other.name){}person &operator=(const person&other){this->age=other.age;this->name=other.name;return *this;}void show(){cout<<"age:"<<age<<endl<<"name:"<<name<<endl;}person operator+(const person&other){int age=this->age+other.age;static string name;name = this->name+other.name;return person(age,name);}bool operator==(person &other){if((this->age==other.age)&&(this->name==other.name))return true;elsereturn false;}bool operator>(person &other){if(this->age>other.age)return true;elsereturn false;}bool operator&&(person &other){return (this->age&&other.age)||(this->name==other.name);}int getage(){return age;}friend ostream &operator<<(ostream &out,person&c1);friend istream &operator>>(istream &in,person &c1);
};
ostream &operator<<(ostream &out,person&c1)
{out<<"age:"<<c1.age<<endl<<"name:"<<c1.name<<endl;return out;
}
istream &operator>>(istream &in,person &c1)
{in>>c1.age>>c1.name;return in;
}
class stu
{double *score;person p1;
public:stu(string &a):score(new double(12.5)),p1(a){}stu(double a,string &b):score(new double(a)),p1(b){}~stu(){delete score;}stu(const stu&other):score(new double(*(other.score))),p1(other.p1){}stu &operator=(const stu&other){*(this->score)=*(other.score);this->p1=other.p1;return *this;}void show(){cout<<"score:"<<*score<<endl;p1.show();}
};
int main()
{string a="zhangsan";string b="lisi";string c="wangwu";stu a1(a);a1.show();cout<<endl;person p1(a);cout<<p1<<endl;person p2(b);cout<<p2<<endl;person p3(c);cout<<p3<<endl;person p4=(p1+p2);p4.show();cout<<endl;cout<<(p1==p2)<<endl;cout<<(p1>p2)<<endl;cout<<(p1&&p2)<<endl;return 0;
}

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

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

相关文章

Linux服务器搭建笔记-005:为用户添加sudo权限及删除账户

一、为指定用户添加sudo权限 命令&#xff1a;usermod suEVA-01:~$ sudo usermod -aG sudo XXX上述命令会生为名字为 XXX 的用户添加sudo权限。 二、删除用户账户 命令&#xff1a;userdel suEVA-01:~$ sudo userdel -r XXX上述命令会删除用户名为XXX的用户&#xff0c;并…

【ROS2】MOMO的鱼香ROS2(四)ROS2入门篇——ROS2节点通信之话题与服务

ROS2节点通信之话题与服务点 引言1 理解从通信开始1.1 TCP&#xff08;传输控制协议&#xff09;1.2 UDP&#xff08;用户数据报协议&#xff09;1.3 基于共享内存的IPC方式 2 ROS2话题2.1 ROS2话题指令2.2 话题之RCLPY实现2.2.1 编写发布者2.2 2 编写订阅者2.2.3 运行测试 3 R…

OSG读取和添加节点学习

之前加载了一个模型&#xff0c;代码是&#xff0c; osg::Group* root new osg::Group(); osg::Node* node new osg::Node(); node osgDB::readNodeFile("tree.osg"); root->addChild(node); root是指向osg::Group的指针&#xff1b; node是 osg:…

udp进行数据发送与接收

1&#xff1a;udp发送&#xff08;这是广播局域网的形式&#xff0c;可以修改为指定IP地址&#xff09; SneakyThrowspublic static void main(String[] args) {String message"中文";DatagramSocket dgSocket new DatagramSocket();byte[] bytes message.getBytes…

字节高级Java面试真题

今年IT寒冬&#xff0c;大厂都裁员或者准备裁员&#xff0c;作为开猿节流主要目标之一&#xff0c;我们更应该时刻保持竞争力。为了抱团取暖&#xff0c;林老师开通了《知识星球》&#xff0c;并邀请我阿里、快手、腾讯等的朋友加入&#xff0c;分享八股文、项目经验、管理经验…

appium入门基础

介绍 appium支持在不同平台的UI自动化&#xff0c;如web,移动端,桌面端等。还支持使用java&#xff0c;python&#xff0c;js等语言编写自动化代码。主要用于自动化测试脚本&#xff0c;省去重复的手动操作。 Appium官网 安装 首先必须环境有Node.js用于安装Appium。 总体来…

设计模式—行为型模式之模板方法模式

设计模式—行为型模式之模板方法模式 在模板模式&#xff08;Template Pattern&#xff09;中&#xff0c;一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 模板方法&#xff08;Template Metho…

TransNeXt:稳健的注视感知ViT学习笔记

论文地址&#xff1a;https://arxiv.org/pdf/2311.17132.pdf 代码地址&#xff1a; GitHub - DaiShiResearch/TransNeXt: Code release for TransNeXt model 可以直接在ImageNet上训练的分类代码&#xff1a;GitHub - athrunsunny/TransNext-classify 代码中读取数据的部分修改…

Rust学习笔记006:代码组织

Crate 在Rust中&#xff0c;“crate” 是指 Rust 的代码单元&#xff0c;它可以包含一个或多个模块&#xff08;modules&#xff09;。Rust 的 crate 分类主要有两个方面&#xff1a;库&#xff08;Library Crates&#xff09;和二进制&#xff08;Binary Crates&#xff09;。…

css中的BFC

定义 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域&#xff0c;只有Block-level box参与&#xff0c; 它规定了内部的Block-level Box如何布局&#xff0c;并且与这个区域外部毫不相干。 涉及概念 box Box 是 CSS 布局的对象…

前端工程化及其实践1

前端工程化及其实践1 前端工程化及其实践又名&#xff1a;写毕设到企业级前端&#xff08;第一天&#xff09; 前端工程化简介 目录 前端工程化及其实践 前端工程化简介传统和现代化开发的案例对比 传统前端案例现代化前端 现代前端案例现代化项目结构举例 vue简单化的项目结…

【Java面试题】HTTP与 HTTPS 的区别

HTTP 与 HTTPS 的区别 &#xff1a; 主要体现在三个方面&#xff0c;分别是 信息传输安全、证书和身份验证 、连接方式 信息传输安全&#xff1a; HTTP 是超文本传输协议&#xff0c;HTTP下的信息是明文传输的&#xff0c;因此使用HTTP协议可能导致信息被截获或者第三方恶意…

病理HE学习贴(自备)

目录 正常结构 癌症HE 在线学习 以胃癌的学习为例 正常结构 1&#xff1a;胃粘膜正常结构和细胞分化 ●表面覆盖小凹上皮细胞(主要标志物&#xff1a;MUC5AC)以保护黏膜。 ●胃底腺固有腺体由黏液颈细胞(MUC6)、主细胞(Pepsinogen l)和壁细胞(Proton pump α-subunit)组…

中科亿海微Flash擦写读

引言 在数字存储技术的领域中&#xff0c;闪存&#xff08;Flash&#xff09;是一种非易失性存储器&#xff0c;以其高速读写、低功耗和较高的可靠性而备受关注。相比于传统的磁盘存储技术&#xff0c;闪存具有更小的体积、更高的数据密度和更长的寿命&#xff0c;因此在各种应…

算法练习Day23 (Leetcode/Python-回溯算法)

46. Permutations Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order. Example 1: Input: nums [1,2,3] Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路&#xff1a;此题可用回溯…

SELinux策略语法以及示例策略

首发公号&#xff1a;Rand_cs 本文来讲述 SELinux 策略常用的语法&#xff0c;然后解读一下 SELinux 这个项目中给出的示例策略 安全上下文 首先来看一下安全上下文的格式&#xff1a; user : role : type : level每一个主体和客体都有一个安全上下文&#xff0c;通常也称安…

oracle学习(6)

其他数据库对象 视图&#xff1a; 常见数据库对象——视图&#xff1a;从表中抽出的逻辑上相关的数据集合。 所以&#xff1a;1. 视图基于表。2. 视图是逻辑概念。3. 视图本身没有数据。 创建视图 创建语法与创建表类似&#xff0c;只需要将table → view即可: SQL> …

Selenium教程04:鼠标+键盘网页的模拟操作

在webdriver 中&#xff0c;鼠标操作都封装在ActionChains类中&#xff0c;使用的时候需要导入这个包。 from selenium.webdriver import ActionChainsActionChains方法列表如下&#xff1a; click(on_elementNone) ——单击鼠标左键click_and_hold(on_elementNone) ——点击…

将PPT4页并排成1页

将PPT4页并排成1页打印 解决方法: 方法一 在打印时选择&#xff1a; 打开 PPT&#xff0c;点击文件选项点击打印点击整页幻灯片点击4张水平放置的幻灯平页面就会显示4张PPT显示在一张纸上 方法二 另存为PDF&#xff1a; 打开电脑上的目标PPT文件&#xff0c;点击文件点击…

Android 提取(备份)apk(安装包)

Android 提取(备份)apk(安装包) 一、通过安卓代码的方式 主要分三步&#xff1a; 根据应用找到包名根据包名获得apk提取apk 提取apk代码 private static final String BACKUP_PATH "/sdcard/backup1/"; private static final String APK ".apk";pri…