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
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 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 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 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的圆柱体