C++编程:数据结构与运算符重载实践

需积分: 10 1 下载量 191 浏览量 更新于2024-07-16 收藏 27KB DOCX 举报
流库 usingnamespacestd; classStudent { stringname; intage; public: Student(stringn="未命名",inta=0):name(n),age(a){} voiddisplay() { cout<<"姓名:"<<name<<"年龄:"<<age<<endl; } }; intmain() { Studentstudent1("张三",20); Studentstudent2; student2.display(); cout<<"请输入学生姓名和年龄:"<<"姓名:"<<; cin>>student1.name>>student1.age; student1.display(); return0; } (二) #include<stdio.h> #include<string.h> structPerson { charname[20]; intage; }; voidswap(structPerson*a,structPerson*b) { structPersontemp=*a; *a=*b; *b=temp; } intmain() { structPersonp1={"Tom",25},p2={"Jerry",30}; printf("交换前:\n"); printf("姓名:%s 年龄:%d\n",p1.name,p1.age); printf("姓名:%s 年龄:%d\n",p2.name,p2.age); swap(&p1,&p2); printf("交换后:\n"); printf("姓名:%s 年龄:%d\n",p1.name,p1.age); printf("姓名:%s 年龄:%d\n",p2.name,p2.age); return0; } 这份文档包含了两部分的编程作业,涉及的数据结构与C++编程知识主要涵盖数组、排序、类与对象、构造函数、运算符重载以及结构体。以下是各部分的详细解析: 第一部分作业主要展示了如何使用C++实现一个简单的数据结构——结构体(struct mouse),该结构体包含小鼠的重量(int kl)和颜色(char color[10])。程序首先通过输入读取n只小鼠的重量和颜色信息,然后利用sort函数对小鼠按照重量进行降序排序。sort函数中的cmp函数是一个比较函数,用于判断结构体元素的顺序。这个程序展示了如何使用C++的标准库,如iostream和algorithm,以及如何自定义比较函数进行排序。 第二部分作业涉及了类(class Intt)的使用,类中定义了整数的操作,包括加、减、乘、除四种基本运算。这里类的构造函数被用来初始化对象,并在创建对象时输出值。同时,类的成员函数实现了整数运算符的重载,使得可以使用"+"、"-"、"*"、"/"等符号直接进行操作。作业中还使用了if语句来处理除法操作中除数为零的情况。这部分作业演示了如何通过类和对象来封装数据和功能,以及如何使用运算符重载。 第三次作业同样分两部分,第一部分是关于C++的类和对象,创建了一个名为Student的类,包含了姓名(string name)和年龄(int age)两个属性。类中有一个默认构造函数和一个带有参数的构造函数,以及一个显示学生信息的方法(display)。作业中创建了两个Student对象并展示了如何通过输入改变对象的属性,然后调用display方法输出信息。 第二部分是C语言风格的结构体(struct Person)及其交换功能。定义了一个包含姓名(char name[20])和年龄(int age)的结构体,然后定义了一个交换两个Person结构体指针所指向的元素的函数(swap)。作业中创建了两个Person结构体实例,展示了如何交换它们的内容,并通过printf函数输出结果。这部分作业展示了结构体的使用以及指针在交换数据中的应用。 这份“数据结构作业.docx”涵盖了C++的基础知识,包括数据结构(结构体)、排序算法、类与对象的创建、构造函数、运算符重载、输入输出操作,以及C语言风格的结构体和指针操作。这些知识点是C++编程学习的核心内容,对于理解面向对象编程和数据处理有重要作用。