news 2026/7/10 12:46:53

bupt c++慕课测试与作业9章

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bupt c++慕课测试与作业9章

定义复数类,数据成员包括实部和虚部;成员函数有构造函数,带默认参数值(1,1)。以成员函数或友元函数的方式重载+运算符,实现两个复数相加的功能。还有一个成员函数,输出复数a+bi。
编写主程序测试复数相加,输入4个整数,分别作为两个复数的实部和虚部,如果第3个整数为-1000,则使用输入的前两个整数构造一个复数,利用默认参数构造另一个复数,并相加。最后输出两个复数之和。(2分)
方法1 友元函数
#include <iostream>
#include <cstring>

using namespace std;

class complex_num
{
public:
complex_num(int i=1,int j=1)
{
r=i;c=j;
}
friend complex_num operator +(complex_num &a,complex_num &b)
{
return complex_num(a.r+b.r,a.c+b.c);
}
void show()
{
cout<<r<<'+'<<c<<'i'<<endl;
}
private:
int r,c;
};
int main()
{ int a,b,c,d;
cin>>a>>b>>c>>d;
complex_num c1(a,b),c2(c,d),c3,c4;
if(c==-1000)
{
c4=c1+c3;
c4.show();
}

else{
c3=c1+c2;
c3.show();
}

}
方法2 成员函数
#include <iostream>
#include <cstring>

using namespace std;

class complex_num
{
public:
complex_num(int i=1,int j=1)
{
r=i;c=j;
}
complex_num operator +(complex_num &a)
{
return complex_num(a.r+r,a.c+c);
}
void show()
{
cout<<r<<'+'<<c<<'i'<<endl;
}
private:
int r,c;
};
int main()
{ int a,b,c,d;
cin>>a>>b>>c>>d;
complex_num c1(a,b),c2(c,d),c3,c4;
if(c==-1000)
{
c4=c1+c3;
c4.show();
}

else{
c3=c1+c2;
c3.show();
}

}
定义屏幕上的坐标点point为类类型,数据成员包括x坐标、y坐标、颜色,均为私有成员;成员函数有构造函数,带默认参数值(0,0,255),会输出提示信息“point(x,y,color)”,其中x,y,color输出实际值。还有getx和gety以及getColor函数,分别返回3个数据成员的值,析构函数中输出提示信息“point~~~”。
定义矩形类,数据成员包括左上角的坐标点(内嵌point类对象),还有矩形的长、宽;成员函数有构造函数,会输出提示信息“rect”,信息输出函数,输出矩形的x坐标、y坐标、长、宽,析构函数中输出提示信息“rect~~~”。
编写主程序,读取用户输入的x坐标、y坐标、长、宽的值,定义矩阵类对象,然后调用信息输出函数,测试类的组合应用。(3分)

#include <iostream>
#include <cstring>

using namespace std;

class pointer{
public:
pointer(int xx=0,int yy=0,int ccolor=255)
{
x=xx;y=yy;color=ccolor;
cout<<"point("<<xx<<','<<yy<<','<<color<<')'<<endl; }
int getx()
{
return x;
}
int gety()
{
return y;
}
int getcolor()
{
return color;
}
~pointer()
{
cout<<"point~~~"<<endl;
}

private:
int x,y,color;
};

class rec{
public:
rec(int xx,int yy,int ll,int ww):p1(xx,yy)
{
l=ll;w=ww;
cout<<"rect"<<endl;
}
void show()
{
cout<<p1.getx()<<','<<p1.gety()<<','<<l<<','<<w<<endl;
}
~rec()
{
cout<<"rect~~~"<<endl;
}
private:
pointer p1;
int l;
int w;
};
int main()
{ int a,b,c,d;
cin>>a>>b>>c>>d;
rec myrec(a,b,c,d);
myrec.show();

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 19:40:35

定制报告-个性化定制-按需专项研究报告-智信中科研究网

定制报告-个性化定制-按需专项研究报告-智信中科研究网市场专项研究报告智信中科研究网个性化定制报告全力解决您的各类需求&#xff0c;为了满足客户在不同发展阶段的不同需求&#xff0c;智信中科研究网可以依据客户的个性化需求&#xff0c;针对性帮助客户完成符合需求的市场…

作者头像 李华
网站建设 2026/7/10 7:01:49

Linux 内存管理:TLB ASID

文章目录1. 前言2. TLB ASID 的硬件支持2.1 概念2.2 TLB 查找3. Linux 下 TLB ASID 管理4. 参考资料1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. TLB ASID 的硬件支持 2.1 概念 什么是 TLB&…

作者头像 李华
网站建设 2026/7/10 12:35:02

基于微信小程序的数字博物馆系统的设计与实现(程序+文档+讲解)

课题介绍在文博资源数字化、展览体验便捷化需求升级的背景下&#xff0c;传统博物馆存在 “线下参观受限、展品解读单一、互动体验不足” 的痛点&#xff0c;基于微信小程序 SpringBoot 构建的数字博物馆系统&#xff0c;适配游客、博物馆管理员、讲解员等角色&#xff0c;实现…

作者头像 李华
网站建设 2026/7/10 6:43:01

代码随想录算法训练营Day49 | Prim算法、Kruskal算法

Prim算法 53. 寻宝&#xff08;第七期模拟笔试&#xff09; 1.思路 本题是最小生成树的模板题&#xff0c;图中有n个节点&#xff0c;那么一定可以用 n-1 条边将所有节点连接到一起&#xff0c;并且总权重最小。 Prim 算法&#xff1a;从一个顶点开始&#xff0c;逐步“生长”…

作者头像 李华