My6n
我们会毁灭于我们所热爱的东西
展开
-
西南科技大学C++程序设计实验七(继承与派生二)
在运行时,程序会根据对象的实际类型来调用相应的函数,实现不同类型的对象的操作。类的多态是面向对象编程中的一个重要特性,它指的是相同或者类似的操作可以作用于不同类型的对象上,并且会产生不同的行为。如果派生类B已经重载了基类A的一个成员函数fn1(),没有重载基类A的成员函数fn2(),如何在派生类的函数中调用基类的成员函数fn1(),fn2()总体来说,类的多态是一种灵活、高效的编程方式,可以提高代码的复用性、可读性和可维护性,是面向对象编程的重要特征之一。通过组合生成的类与被组合的类之间的逻辑关系是什么?原创 2023-12-06 11:26:41 · 1476 阅读 · 0 评论 -
西南科技大学C++程序设计实验八(多态一)
通过这种方式,调用基类的同一个方法时,如果调用的实际是子类的方法,而不是基类的方法,就产生了多态性。可以将一个父类指针指向一个子类对象,但不能子类指针能否指向父类对象,因为子类中有些信息父类没有,如果用子类指针访问的时候很可能访问到父类没有的一些属性及函数,会出错!(2)、在子类中重新定义此函数,要求函数名,函数类型、返回值类型,函数参数个数和类型全部与父类的虚函数相同,并要根据子类的需要重新定义函数功能。当一个派生类对象赋值给基类指针或引用的时候,该指针或引用将指向派生类对象中的虚函数表指针。原创 2023-12-07 10:33:17 · 1391 阅读 · 0 评论 -
西南科技大学C++程序设计实验十(函数模板与类模板)
类模板是一种特殊的模板,它可以让我们定义一个通用的类,其中某些成员变量或成员函数的数据类型不必指定,而是可以在使用该类时根据需要指定。在类模板的定义中,我们使用类型参数(例如template )来表示通用类型,这样可以让类模板适用于不同的数据类型。类型参数:动态数组的元素类型应该作为类模板的一个类型参数来表示,这样可以让我们在使用该类时根据需要指定元素类型。类型参数:链表节点的数据类型应该作为类模板的一个类型参数来表示,这样可以让我们在使用该类时根据需要指定元素类型。原创 2023-12-08 09:43:24 · 3396 阅读 · 0 评论 -
西南科技大学C++程序设计实验十二(文件流操作)
另外,需要注意文件流的打开模式,例如 ios::out 表示输出模式,如果需要读取文件则需要使用 ios::in 模式。需要注意的是,如果在程序结束前没有关闭文件,文件将会一直处于打开状态,这可能会导致文件被其他程序占用或者文件内容不完整等问题。打开文件有两种方式,一种是调用流对象的 open 成员函数打开文件,一种是定义文件流对象时,通过构造函数打开文件,请举例写出并说明。关闭文件可以通过流对象的 close() 成员函数实现,调用该函数后,流对象与打开的文件之间的关联将被解除,同时文件被关闭。原创 2023-12-09 15:52:48 · 1892 阅读 · 0 评论 -
西南科技大学C++程序设计实验九(多态二)
在这个类中,我们定义了一个名为on_pushButton_clicked的槽函数,并且在其中使用了QLineEdit控件的text方法和toInt方法,将文本框中输入的数字字符串转换成整型。通过纯虚函数,我们可以定义一个共同的接口,使得派生类能够根据需要来实现相应的功能。在主函数中,我们定义了两个Point对象p1和p3,并且分别进行前置和后置自增操作,并将操作结果赋值给新的对象p2和p4。2. 编写一个complex类,在类中重载运算符+,-,使其当做complex类的成员函数,完成复数的加,减。原创 2023-12-07 10:37:46 · 1476 阅读 · 0 评论 -
西南科技大学C++程序设计实验四(类与对象三)
常成员函数是指在类中声明为const的成员函数,它们保证不会修改对象的状态,只能访问对象的常数据成员和非常成员函数。但是普通对象也可以访问常成员函数,在访问过程中,普通对象会被视为常对象,在运行过程中,普通对象的数据成员也不会被改变。常引用也可做形参,常引用可以和常对象搭配,普通对象也可以和常引用搭配,在运行中,普通对象会被视为常对象,常引用做函数形参时和值传递很类似,但常引用有一个优点,在传递比较大的值时,用值传递耗时较长,而传递常引用可以显著提高效率。常数据成员的初始化在构造函数的初始化列表中进行。原创 2023-12-05 10:29:23 · 1247 阅读 · 0 评论 -
西南科技大学C++程序设计实验(大作业-电梯控制系统)
总结:本次课程设计使用C++面向对象的程序设计语言来实现对电梯运行的一个模拟,该楼共有10层,电梯初始状态停在1层,实现了电梯的上升和下降运行,实现了电梯开始运行时,显示所到的每一楼层层数,以及在电梯内部显示当前日期,还有对用户的非法输入做出相关提示与回应等功能。原创 2023-12-09 16:00:18 · 1526 阅读 · 0 评论 -
西南科技大学C++程序设计实验五(类与对象深入学习 )
例如将类 B 声明为类 A 的友元类,那么类 B 中的所有成员函数都是类 A 的友元函数,可以访问类 A 的所有成员,包括 public、protected、private 属性的。而非成员函数,没有 this 指针,编译器不知道使用哪个对象的成员,要想明确这一点,就必须通过参数传递对象(可以直接传递对象,也可以传递对象指针或对象引用),并在访问成员时指明对象。对象数组的初始化调用其构造函数完成,不可以不加类名,因为类的构造方法具有参数的格式,如果不加类名,参数的传递会出问题。原创 2023-12-05 10:34:02 · 1477 阅读 · 0 评论 -
西南科技大学C++程序设计实验三(类与对象二)
在对象复制给对象的过程中就要用到拷贝构造函数,到底是自己定义拷贝构造函数还是使用默认拷贝构造函数,这就要看看这个被拷贝的对象是否占有资源,如果占有资源,我们要把资源也复制一份给新对象,而不是把使用被拷贝对象使用资源的“权限”复制给新对象。如果没有复制构造函数,使用默认的复制构造函数,对象c3的str指针将指向与对象c2相同的地址,当c2和c3被销毁时,由于它们共享同一块内存空间,会导致错误的内存释放。被复制对象的所有变量都含有与原来对象相同的值,而所有其他对象的引用仍然指向原来的对象。原创 2023-12-02 10:27:41 · 1297 阅读 · 0 评论 -
西南科技大学C++程序设计实验一(C++基础知识)
已知" a=1, b=2, c=3, d=4, m=1, n=1 ",编程完善程序,输出以下表达式的结果,回答程序注释部分的思考题!已知" a=1, b=2, c=3, m=1,n=1 ",编程完善程序,输出以下表达式的结果,回答程序注释部分的思考题!(4)输出为-2.“~”是按位取反,优先级大于“^”按位异或,~将b取反,^将取反的每一位与c每一位进行异或,若对应位相同,则为0,若对应位不相同,则为1.对于逻辑或,当第一个条件为假时,第二个条件会继续执行,c=3,d=4,所以c>d为假,n输出为0。原创 2023-11-27 21:52:58 · 1566 阅读 · 0 评论 -
西南科技大学C++程序设计实验六( 继承与派生一)
1、执行基类的构造函数。2、执行成员对象的构造函数(如果有的话)。不可以直接访问,因为无论用何种方式继承,从基类继承过来的私有数据成员都是不可访问的,只有基类本身可以访问其私有成员,但是可以通过在基类中提供访问函数来进行访问。公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然为私有的,不能被这个派生类的子类所访问。公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然为私有的,不能被这个派生类的子类所访问。原创 2023-12-06 11:19:21 · 1317 阅读 · 0 评论 -
西南科技大学C++程序设计实验十一(泛型程序设计与C++标准模板库)
容器(Containers):STL提供了多种容器,如vector、list、map、set等,它们是存储数据对象的数据结构,在内存中以链表、数组、树等方式进行存储,支持增删改查等操作。总之,vector作为一个顺序容器,在C++程序设计中广泛应用,其动态分配内存、支持随机访问、元素连续存储、支持动态增减元素和迭代器支持等特点,使其成为一个高效、方便、易于使用的容器。5.迭代器支持:vector支持迭代器,可以使用迭代器访问其中的元素,也可以使用STL中提供的各种算法对vector中的元素进行操作。原创 2023-12-08 09:51:17 · 1573 阅读 · 0 评论 -
西南科技大学C++程序设计实验二(类与对象一)
(1)在主函数中使用Rectangle定义一个目的对象rec_1,调用构造函数初始化其数据成员length与breadth的值分别为2和3,使用成员函数output()输出其数据成员的值,使用成员函数area()计算对象rec_1的面积;(2)在主函数中使用Rectangle定义一个目的对象rec_2,通过set()函数对其数据成员重新赋值,并使用area()函数计算输出其面积,思考可否重新调用构造函数完成上述set()函数的功能?重点:掌握类的定义与实现,丰富类的数据成员与成员函数,拓展其功能。原创 2023-11-28 22:46:53 · 1627 阅读 · 0 评论 -
西南科技大学电路分析基础实验A1(一阶电路的设计)
对于一阶RC电路,响应变化主要与时间常数有关,而时间常数τ=RC,所以当R或C增大时,响应曲线更加平缓,过渡过程时间更长。应注意:信号源的接地端与示波器的接地端要连在一起共地,以防外界干扰而影响测量的准确性,在做微分电路时,应将电阻和电容位置调换,保证是从R输出。1. 如图1-1-4-1所示,RC一阶电路的零输入响应和零状态响应分别按指数规律衰减和增长,其变化的快慢决定于电路的时间常。计算τ的理论值:τ=RC=10*103*6800*10-12=6.8*10-5s=68us。图1-1-4-2所示。原创 2023-11-27 21:56:05 · 1317 阅读 · 0 评论 -
西南科技大学电路分析基础实验A1(元件伏安特性测试 )
U=-1时,I=-1/200=-0.005A=-5mA。U=-2时,I=-2/200=-0.01A=-10mA。U=-4时,I=-4/200=-0.02A=-20mA。U=3时,I=3/200=0.015A=15mA。U=1时,I=1/200=0.005A=5mA。U=2时,I=2/200=0.01A=10mA。U=4时,I=4/200=0.02A=20mA。当I=5mA,U=3-0.225=2.775V。当I=10mA,U=3-0.51=2.49V。当I=20mA,U=3-1.02=1.98V。原创 2023-11-27 21:56:45 · 1912 阅读 · 0 评论 -
西南科技大学信号与系统A课程设计报告(信号卷积与应用)
通过fir1函数设计滤波器,实现了对输入信号的滤波,通过观察滤波器的频率响应、输入输出信号的波形和幅频曲线,可以验证滤波器的效果,本题还涉及到了fft函数的使用,可以用于对信号进行频域分析。其中,输入信号1和输入信号2的波形都是离散的,而输出信号的波形是连续的。观察滤波器h的频率响应,可以看到滤波器在截止频率0.2 Hz处的衰减比较明显,符合设计要求,可以看到输出信号y去除了0.3 Hz的正弦信号,输出信号y去除了0.3 Hz的正弦信号,保留了0.1 Hz的正弦信号。显示输入信号和输出信号的波形。原创 2023-12-01 10:28:14 · 1369 阅读 · 0 评论 -
西南科技大学信号与系统A实验三(线性连续时间系统的分析)
例如,当系统的脉冲响应具有高通滤波器的特征时,其频率响应会在低频处有较小的增益,随着频率的增加而逐渐增加,直到达到峰值后逐渐下降,最终趋于零。观察结果可知,针对极点参数①的系统的脉冲响应在 t→∞ 时会趋近于0,而针对极点参数②的系统的脉冲响应在 t→∞ 时会不断增长,即不稳定。(5)系统函数的极点应该全部在左半平面:这是一种特殊的稳定性条件,称为BIBO稳定性,它保证了系统对于任何有限的输入都有有限的输出。系统函数 H(s)集中表现了系统的性能,研究 H(s)在 S 平面中极点分布的位置,可很方面。原创 2023-11-29 00:05:16 · 1486 阅读 · 0 评论 -
西南科技大学信号与系统A实验二(信号频谱分析)
N-1)是在采样频率 fs(Hz)下获得,它的快速离散傅里叶 变换(FFT)也是 N 点序列. 即 X(k)(k=0,1,…(由频谱图可见,在 50Hz 和 150Hz 各出现很长的谱线,表明含噪信号 y 中含有这二个频率的信号.在 350Hz 和 450Hz 处也出现很长的谱线,这并不是说 y 中也含 350Hz 和 450Hz 的信号,这是由于采样信号的频谱是以采样频率 fs 为间隔周期出现而造成的)matlab 提供 fft 函数来计算信号 x(n)的快速离散傅里叶变换 (FFT).原创 2023-11-28 23:07:01 · 1516 阅读 · 0 评论 -
西南科技大学信号与系统A实验一(信号的产生与时域运算)
程序中的conv函数实现了卷积运算,输入参数为a、b和它们的长度Na、Nb,输出结果保存在y中。(3)灵活性:MATLAB提供了丰富的仿真工具箱和函数库,可以进行各种类型的仿真分析,而且可以进行自定义函数和工具箱的开发,提高仿真的灵活性。(5)易用性:MATLAB具有友好的用户界面和易用的编程语言,使得仿真分析更加简单和方便,同时也支持脚本编程和命令行操作,满足不同用户的需求。(1)多领域仿真:MATLAB支持多种领域的仿真,包括信号处理、控制系统、图像处理、通信系统等,可以进行多领域的仿真分析。原创 2023-11-28 00:01:01 · 1255 阅读 · 0 评论