教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

c++数据结构上机题及实现代码(5)

来源:网络收集 时间:2026-01-24
导读: 11:实现自定义的析构函数 Time/Memory Limit:1000 MS/32768 K Submitted: 66 Accepted: 48 Problem Description 自定义一个类Person,类中仅有一个字符指针成员变量name,用于保存从键盘接收一任意长度的字符串。要

11:实现自定义的析构函数

Time/Memory Limit:1000 MS/32768 K

Submitted: 66 Accepted: 48

Problem Description

自定义一个类Person,类中仅有一个字符指针成员变量name,用于保存从键盘接收一任意长度的字符串。要求根据该串的大小在创建对象时候动态申请一片空间,在析构该类的每个对象之前释放该对象拥有的堆中内存。请编写类析构函数以实现这一意图。(为了观察,请在析构对象时候显示deleted。)

Input

输入一字符串,不含空格。

Output

该对象中字符串内容 deleted

Sample Input

abcd

Sample Output

abcd deleted

#include using namespace std; class Person {

private: char *name; public: Person(char *str=\ { int len=0; len=strlen(str); if(len!=0) { name=new char[len+1]; strcpy(name,str); }

else str=NULL; } ~Person() { if(name!=NULL) delete []name; cout<<\ } void show() { cout<

int main() { char n[1000]; while(cin>>n) { Person one(n); one.show(); } return 0; }

12:构造函数--定义矩形

Time/Memory Limit:1000 MS/32768 K

Submitted: 53 Accepted: 50

Problem Description

定义一个矩形类,要求定义成员函数实现:构造长方形、计算长方形的面积、周长,假定长和宽分别由两个整型变量high和width表示。

Input

输入数据有多行,每行有两个数据,代表矩形的长和宽。

Output

每组输出占一行,为矩形的面积和周长并用空格隔开.

Sample Input

1 2 10 20 100 200

Sample Output

2 6 200 60 20000 600

#include using namespace std; class Rectangle {

private: double high,width; public: Rectangle(double h=0,double w=0) { high=h; width=w; } void area(); void perimeter(); };

void Rectangle::area() { double s; s=high*width; cout<

void Rectangle::perimeter() { double l; l=2*(high+width); cout<

int main() { double h,w; while(cin>>h>>w) { Rectangle one(h,w); one.area(); one.perimeter();

}

}

return 0;

13:对象数组

Time/Memory Limit:1000 MS/32768 K

Submitted: 77 Accepted: 50

Problem Description

定义一个学生类,数据成员包括:学号(整数),姓名,年龄,成绩;成员函数包括设置值和输出显示。

在主函数中定义学生数组,表示多个学生,给每个学生设置值,然后输出显示。

Input

输入数据有多行,第一行为整数n,表示一共有n个学生数据,接下来的n行为学生数据信息,每行一个学生。

Output

输出有n行,每行代表一个学生,输出要有相应的提示,每行的信息之间用空格分隔。

Sample Input

4

1 \2 \3 \4 \

Sample Output

Id:1 Name:\Id:2 Name:\Id:3 Name:\Id:4 Name:\#include #include using namespace std; class student {

private:

int num,age,score; string name; public: student(int n1=0,string name=\ { num=n1;this->name=name;age=a1;score=s1; } void show() { cout<<\Name:\Score:\ } };

int main() { student one[100]; int no,n,a,s,i; string name; cin>>n; for(i=0;i>no>>name>>a>>s; one[i]=student(no,name,a,s); } for(i=0;i

Age:\

14:构造函数与拷贝构造函数——定义圆柱体

Time/Memory Limit:1000 MS/32768 K

Submitted: 57 Accepted: 44

Problem Description

为圆柱体编写一个Cylinder类,圆柱体由底面半径和高描述(float型),这个类具有如下的函数:

a)得出圆柱体的体积:圆柱的体积=底面积×高

b)得出圆柱体的表面积:圆柱的表面积=上下底面面积+侧面积 c)能以如下方式创建一个圆柱体对象:

(1) Cylinder c1;//构造一个默认底面半径为10,高为10的圆柱体

(2) Cylinder c2(20,100);//构造一个底面半径为20,高为100的圆柱体

…… 此处隐藏:480字,全部文档内容请下载后查看。喜欢就下载吧 ……
c++数据结构上机题及实现代码(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/411995.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)