![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++学期大实验和实验小技巧
用于记录C++大实验的做题历程
人间理想无谓
当笔记用
展开
-
实验8 抽象类,滤波器的实现
目录实验要求实验目的实验内容抽象类滤波器 Filter.h派生类 均值滤波器 MeanFilter.h实验要求代码实现main.cppfilter.hMeanfilter.hMedianfilter.himage.hmatrix.himage.cppmatrix.cpp实验要求实验目的了解为何使用抽象类,学习通过继承实现代码重用的机制和方法掌握如何声明函数为纯虚函数掌握如何利用纯虚函数,编写派生类的覆盖函数实验内容定义滤波器抽象类Filter,并派生两个具体的滤波器:类MeanFilter和类原创 2021-07-15 12:28:31 · 351 阅读 · 0 评论 -
实验7 运算符重载
目录实验要求实验目的实验内容代码示例代码实现:main.cppimage.cppimage.hMatrix.cppMatrix.h实验要求实验目的掌握运算符重载实现对Matrix类的运算符重载实验内容在之前的实验中,我们实现了矩阵类Matrix及其子类Image。本次实验我们给Matrix类添加一些重载的运算符,包括赋值运算符“=”,两个Matrix对象的“+”、“-”、“”、“/”(都是矩阵对应元素间的运算,而不是矩阵的乘除),自加自减,矩阵(或图像)对象和一个数(标量)的“=”、“+”、“-原创 2021-07-15 12:21:38 · 769 阅读 · 0 评论 -
实验6继承
实验6 继承目录实验要求实验目的实验内容实现代码:main.cppimage.cppimage.hMatrix.cppMatrix.h实验要求实验目的掌握如何编写基类,如何通过继承基类的属性和函数编写派生类。掌握如何在派生类成员函数中调用基类的成员函数。掌握如何声明基类和派生类的对象,如何调用派生类对象的成员函数。实验内容1.创建Matrix类,作为Image类的基类。下面的代码已把实验5里的Image类的数据成员“转移至”了父类Matrix中,并将Image类中适用于矩阵的操作“转移至”M原创 2021-07-15 12:17:47 · 420 阅读 · 0 评论 -
C++通过类来实现BMP图像的翻转,裁剪,缩放等操作
#实验心得1.当出现data重载多个时,检查函数是否声明Image引用2.出现数组越界时问题十分常见,记得通过多输出几次来判断程序在哪个点发生了中断。数组越界要十分明白数组的大小,和输入数组元素的个数,一个一个来判断;3.循环时,一定要算好循环的次数,不然容易出现数组越界。总之,一些小细节问题很致命。#实验要求:> 实验5 类和对象实验目的掌握类和对象的创建掌握构造函数、构造函数的重载,拷贝构造函数、析构函数的设计和使用掌握成员函数的设计和使用实验内容下面的代码已经创建了图原创 2021-05-28 10:31:52 · 2601 阅读 · 0 评论 -
读取BMP文件,并进行图像的灰白处理,翻转,缩放
编译环境:vs2019代码如下:#include<iostream>#include <cstdio>#include <cstdlib>using namespace std;#pragma pack(push,1)struct BMPFILEHEADER{ unsigned short bfType; unsigned int bfSize; unsigned short bfReserved1; unsign原创 2021-05-21 13:02:41 · 269 阅读 · 0 评论 -
C++读取BMP文件,并将其重新写出来
让我烦了半天的一个小问题,readbmp(filename,bmp &fh,bit&ih)记住一定要加地址符&,而writebmp是不需要&。就其原因,对指针的使用和理解不熟悉。#include<iostream>#include <cstdio>#include <cstdlib>using namespace std;#pragma pack(push,1)struct BMPFILEHEADER{ unsig原创 2021-05-12 18:09:33 · 268 阅读 · 0 评论 -
c++函数调用数组
int fun(int a[3][2]){}int main(){fun(a);}原创 2021-03-31 14:10:16 · 4095 阅读 · 1 评论 -
c语言从文件中读取数据并保存到数组中
#include <stdio.h>int main(){ int a[6]; FILE* fpread; fpread = fopen("data.txt", "r"); if (fpread == NULL) { printf("file is error."); return -1; } for (int j = 0; j < 6; j++) { fscanf(fpread, "%d", &a[j]); } fclose.原创 2021-03-27 10:33:28 · 14467 阅读 · 1 评论