
C++面向对象程序设计
C++面向对象程序设计
Lhw_666
这个作者很懒,什么都没留下…
展开
-
CPU类
题目定义一个 CPU 类,包含等级 (rank)、频率(frequency)、电压 (voltage) 等属性,有两个公有成员函数 run、stop。其中,rank 为枚举类型 CPU_Rank,定义为:enum CPU_Rank {P1=1, P2, P3, P4, P5, P6, P7};相关阅读相关阅读完整代码#include "bits/stdc++.h"using namespace std;enum CPU_Rank {P1=1, P2, P3, P4, P5, P6, P7};原创 2021-01-29 01:13:06 · 1362 阅读 · 0 评论 -
People类
题目设计一个用于人事管理的 People(人员) 类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号) 等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括构造函数和析构函数、拷贝构造函数、内联成员函数。相关阅读相关阅读完整代码#include<bits/stdc++.h>#define Pi 3.14;using namespace std;原创 2021-01-29 01:12:56 · 2369 阅读 · 0 评论 -
复数类Complex
题目定义一个复数类 Complex,虚部和实部为私有数据类型相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;class Complex{private: double re, im;public: Complex(){ re = 0; im = 0; }; double real() const {return re;}; double im原创 2021-01-29 01:12:42 · 2015 阅读 · 0 评论 -
Animal类
题目定义一个基类 Animal,有私有整型成员变量 age,构造其派生类 Dog,在其成员函数 setAge(int n) 中直接给 age 赋值,看看会有什么问题,把 age 改为公有成员变量,还会有问题吗?相关阅读相关阅读完整代码#include "bits/stdc++.h"using namespace std;class Animal{public: int age;};class Dog: public Animal{public: void setAge原创 2021-01-29 01:12:32 · 2272 阅读 · 0 评论 -
时期、时间类
题目定义一个日期 (年、月、日) 的类和一个时间 (时、分、秒) 的类,并由这两个类派生出日期和时间类。主函数完成基类和派生类的测试工作。相关阅读相关阅读完整代码#include "bits/stdc++.h"using namespace std;class Date{protected: int year; int month; int day;public: Date(){ cin >> year >> mon原创 2021-01-28 10:04:20 · 493 阅读 · 0 评论 -
shape类
题目下面的 shape 类是一个表示形状的抽象类,area() 为求图形面积的函数。从shape 类派生三角形类和圆类,并实现求面积函数:class shape{public:virtual double area()=0;};相关阅读相关阅读完整代码#include "bits/stdc++.h"using namespace std;class Shape{public: virtual double area()=0;};class Triangle: pub原创 2021-01-28 10:03:57 · 2377 阅读 · 0 评论 -
虚函数多态性实现求几何图形面积
题目利用虚函数实现的多态性来求四种几何图形的面积之和。这四种几何图形是:三角形 (Triangle)、矩形(Rectangle)、正方形 (Square) 和圆 (Circle)。几何图形的类型可以通过构造函数或通过成员函数来设置。相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;class Shape{public: virtual void set()=0; virtual double getAr原创 2021-01-28 10:03:42 · 2035 阅读 · 0 评论 -
c++类实现链表
介绍实现链表的创建,查找,增加,删除操作,打印。完整代码#include <iostream>using namespace std;class Node{private: int data; Node *next;public: Node(){ next = NULL; } friend class linkList;};class linkList{private: Node *head; in原创 2021-01-28 10:02:13 · 2912 阅读 · 0 评论 -
图书管理程序
题目设计一个管理图书目的简单程序,提供的基本功能包括:可连续将新书存入文件“book.dat”中,新书信息加入到文件的尾部;也可以根据输入的书名进行查找;把文件“book.dat”中同书名的所有书显示出来。为简单起见,描述一本书的信息包括:书号,书名,出版社和作者。相关阅读相关阅读完整代码#include <bits/stdc++.h>using namespace std;class Book {private: string id; string name原创 2021-01-28 10:02:27 · 782 阅读 · 0 评论 -
文件输出菲波那切数列
题目产生 Fibonacci 数列的前 20 个数,使用文件流ofstream 分别将它们写入文件fibonacci.txt,再从文件中读入存放在数组中并输出到屏幕。相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;int main(){ ofstream file; file.open("fibonacci.txt"); int a=1,b=1; file << a <原创 2021-01-28 10:02:41 · 442 阅读 · 1 评论 -
二进制打开文件并添加行号
题目编写程序,用二进制方式打开指定的一个文件,在每一行前加行号。相关阅读相关阅读完整代码#include <bits/stdc++.h>using namespace std;int main(){ fstream file("test.txt", ios::in | ios::binary); string line[3]; int i=0, j=0; while(getline(file, line[i])){i++;} file.clo原创 2021-01-28 10:02:57 · 3555 阅读 · 4 评论 -
计算器异常类
题目为简单计算器程序添加异常处理,考虑被零除和输入非法字符等情况; 使用 C++ 标准异常类层次结构改写上题?相关阅读相关阅读完整代码#include <bits/stdc++.h>using namespace std;class Zero: public exception{public: Zero(){}; const char* what(){ cout << "0不能作为除数!" << endl; }}原创 2021-01-28 10:03:12 · 649 阅读 · 0 评论 -
Vehicle基类
题目定义一个车 (Vehicle) 基类,有 run、stop 等成员函数,由此派生出自行车 (Bicycle) 类、汽车 (Motorcar) 类,从 Bicycle 和 Motorcar 派生出摩托车(Motorcycle)类,它们都有run、stop 等成员函数。观察虚函数的作用。相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;class Vehicle{public: virtual void run原创 2021-01-28 10:03:24 · 2088 阅读 · 0 评论 -
CPoint类
题目设计一个描述二维平面内一点的 CPoint 类,成员包括:x,y。需要实现的功能(成员函数):构造函数、设置坐标、获取坐标、获取极坐标、求两点之间的距离。然后再设计一个描叙三维平面内一点的C3DPoint 类,该类为 CPoint 类的派生类,新添加的成员括:z。需新添加或重新定义的功能包括:构造函数、设置坐标、获取坐标、求两点之间的距离。请在 main() 函数中测试之。相关阅读相关阅读完整代码#include "bits/stdc++.h"using namespace std;cl原创 2021-01-28 10:04:07 · 4022 阅读 · 0 评论 -
Person类
题目设计一个 Person 类,成员包括:姓名、性别、年龄。需要实现的功能 (成员函数):输入、输出、修改成员,根据有关信息初始化对象。main() 函数先输出把对象初始化为缺省值的结果、再输出修改各成员的结果、再输出经输入函数修改各成员的结果、最后设计一个比较两人年龄的函数,并在 main() 函数中测试之。相关阅读相关阅读完整代码#include<bits/stdc++.h>#define Pi 3.14;using namespace std;class Person{原创 2021-01-27 11:29:58 · 3652 阅读 · 0 评论 -
矩形类
题目设计一个程序,定义一个矩形类,包括数据成员和函数成员。要求能获取和修改矩阵的的长和宽,并能计算矩阵的面积,并编写 main 函数进行测试。相关阅读相关阅读完整代码#include<bits/stdc++.h>#define Pi 3.14;using namespace std;class Rectangle{ double length; double width;public: double getLength(){ retur原创 2021-01-27 11:28:36 · 1382 阅读 · 1 评论 -
圆类
题目定义一个圆类 (Circle),属性为半径 (radius),要求能获取和修改圆的半径,并能计算圆的周长和面积,并编写 main 函数进行测试。相关阅读相关阅读完整代码#include<bits/stdc++.h>#define Pi 3.14;using namespace std;class Circle{ double radius;public: double getRadius(){ return radius; }原创 2021-01-27 11:27:33 · 1321 阅读 · 0 评论 -
成绩统计
题目编写函数 average 计算该成绩表的平均成绩和每个学生的平均成绩。在主函数输入该成绩表,调用该函数并输出结果。相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;class Student{public: string name; int course[4] = {0}; Student(){}; void input(string name, int course[4]){原创 2021-01-27 11:26:42 · 631 阅读 · 0 评论 -
加法函数重载
题目创建函数 plus(),它把两个数值加在一起,返回它们的和。提供 int、double、string 类型的重载版本相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;int Plus(int a, int b){ return a+b;}double Plus(double a, double b){ return a+b;}string Plus(string a, string b){原创 2021-01-27 11:25:21 · 612 阅读 · 0 评论 -
最大公约数和最小公倍数
题目使用函数指针来求两个正整数的最大公约数和最小公倍数相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;int GCD(int *a, int *b){ if (*b == 0) return *a; int temp = *a%*b; a = b; b = &temp; return GCD(a, b);}int LCM(int *a, int *b){原创 2021-01-27 11:24:06 · 288 阅读 · 0 评论 -
三角形判断
题目定义一个函数,判断三个整型边长能否构成三角形,如果能判断它是否是直角三角形相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;bool isTriangle(int a, int b, int c){ if (a+b>c && a+c>b && b+c>a) return true; else return false;原创 2021-01-27 11:22:28 · 317 阅读 · 0 评论 -
鞍点
题目定义一个二维数组,数组维度由用户输入,通过函数求数组的鞍点 (二维数组的鞍点就是该位置上的元素在该行上是最大而在该列上是最小,数组可能没有鞍点),函数参数分别为指针和引用的传址方式;相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;int n, m;void inputSaddlePoint1(int **a, int **b){ bool flag = false; for (int i = 0;原创 2021-01-27 11:21:14 · 734 阅读 · 0 评论 -
约瑟夫问题
题目约瑟夫 (Josephus) 问题:n 个人围坐成一圈,从 1 开始顺序编号;游戏开始,从第一个人开始由 1 到 m 循环报数,报到 m 的人退出圈外,问最后留下的那个人原来的序号。相关阅读相关阅读完整代码#include<bits/stdc++.h>using namespace std;int main(){ int n, m, s[999]; memset(s, 0, sizeof(s)); cin >> n >> m;原创 2021-01-27 11:20:04 · 287 阅读 · 1 评论 -
球、圆柱、圆锥类
题目编写一个程序计算出球、圆柱和圆锥的表面积和体积,要求如下:(a) 定义一个基类圆,至少含有一个数据成员半径;(b) 定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数;© 定义主函数,求球、圆柱、圆锥的体积;相关阅读相关阅读完整代码#include "bits/stdc++.h"using namespace std;class Circle{protected: double radius;public: virtual double g原创 2021-01-29 01:12:24 · 2730 阅读 · 0 评论 -
回文数
题目输入一个正整数,判断它是否为回文数,所谓回文数即正读和反读都是一样的数,如 12321、56465 都是回文数。完整代码#include<bits/stdc++.h>using namespace std;bool isPalindromeNumber(int n){ int temp = n; int sum = 0; while (temp != 0){ sum = sum*10 + temp%10; temp /= 10原创 2021-01-27 11:16:51 · 578 阅读 · 1 评论