关于c++的问题(2)加分加分!!
1.设计一个程序,定义一个矩形类,包括数据成员和函数成员。要求有构造函数、析构函数,完成赋值、显示、计算矩形的面积等接口,并编写main函数进行测试。ClassRect{...
1.设计一个程序,定义一个矩形类,包括数据成员和函数成员。要求有构造函数、析构函数,完成赋值、显示、计算矩形的面积等接口,并编写main函数进行测试。
Class Rect
{public:
int Area_int();
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
};
2.重载构造函数。修改上题,一种构造函数用整型变量记录矩形的长和宽,另一种构造函数用double型记录矩形的长和宽,然后完成成员函数及主函数。
Class Rect
{public:
int Area_int();
double Area_double();
Rect(double l, double w);
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
double mLength;
double mWidth;
};
3.构造一个类countstr,要求用构造函数设置计数器count的初始值为0,成员函数countchar()不返回任何值,它要求用户输入一段文字,按Enter键后结束计算,用count记录输入的字符数,成员函数getchar()返回count的整数值。
2
1)阅读程序,写出运行后的输出结果;
2)然后上机运行,验证结果是否正确;
3)分析程序执行过程,尤其是调用构造函数和析构函数的过程。
#include <iostream.h>
class A
{public:
A(){cout<<“constructing A”<<endl;}
~A(){cout<<“destructing A”<<endl;}
};
class B:public A
{public:
B(){cout<<“constructing B”<<endl;}
~B(){cout<<“destructing B”<<endl;}
};
class C:public B
{public:
C(){cout<<“constructing C”<<endl;}
~C(){cout<<“destructing C”<<endl;}
};
void main()
{ C c1;
}
2.定义一个Point类,派生出Rectangel类和Circle类,计算各派生类对象的面积Area( )。编写一个完整程序进行测试。
3. 定义并描述一个人员类Person,它派生出学生类Student和教师类Teacher, 学生类和教师类共同派生出在职读书的教师类Stu_Tech。人员类有姓名、性别、身份证号、出生年月等信息;学生类有学号、成绩等信息;教师类有职务、职称等信息。编写一个完整程序进行测试。
同(1) 展开
Class Rect
{public:
int Area_int();
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
};
2.重载构造函数。修改上题,一种构造函数用整型变量记录矩形的长和宽,另一种构造函数用double型记录矩形的长和宽,然后完成成员函数及主函数。
Class Rect
{public:
int Area_int();
double Area_double();
Rect(double l, double w);
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
double mLength;
double mWidth;
};
3.构造一个类countstr,要求用构造函数设置计数器count的初始值为0,成员函数countchar()不返回任何值,它要求用户输入一段文字,按Enter键后结束计算,用count记录输入的字符数,成员函数getchar()返回count的整数值。
2
1)阅读程序,写出运行后的输出结果;
2)然后上机运行,验证结果是否正确;
3)分析程序执行过程,尤其是调用构造函数和析构函数的过程。
#include <iostream.h>
class A
{public:
A(){cout<<“constructing A”<<endl;}
~A(){cout<<“destructing A”<<endl;}
};
class B:public A
{public:
B(){cout<<“constructing B”<<endl;}
~B(){cout<<“destructing B”<<endl;}
};
class C:public B
{public:
C(){cout<<“constructing C”<<endl;}
~C(){cout<<“destructing C”<<endl;}
};
void main()
{ C c1;
}
2.定义一个Point类,派生出Rectangel类和Circle类,计算各派生类对象的面积Area( )。编写一个完整程序进行测试。
3. 定义并描述一个人员类Person,它派生出学生类Student和教师类Teacher, 学生类和教师类共同派生出在职读书的教师类Stu_Tech。人员类有姓名、性别、身份证号、出生年月等信息;学生类有学号、成绩等信息;教师类有职务、职称等信息。编写一个完整程序进行测试。
同(1) 展开
2个回答
展开全部
我都运行过的哦。你自己也可以试试看
第一题:
#include<iostream.h>
class Rect
{public:
int Area_int();
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
};
int Rect::Area_int() {return nLength*nWidth;}
Rect::Rect(int l,int w) {nLength=l;nWidth=w;}
Rect::~Rect() {cout<<"Class Rect's destructor"<<endl;}
int main()
{
Rect s(2,4);
cout<<"Area="<<s.Area_int()<<endl;
return 0;
}
第二题
#include<iostream.h>
class Rect
{public:
int Area_int();
double Area_double();
Rect(double l, double w);
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
double mLength;
double mWidth;
};
int Rect::Area_int() {return nLength*nWidth;}
double Rect::Area_double() {return mLength*mWidth;}
Rect::Rect(int l,int w) {nLength=l;nWidth=w;}
Rect::Rect(double l,double w) {mLength=l;mWidth=w;}
Rect::~Rect() {cout<<"Class Rect's destructor"<<endl;}
int main()
{
Rect s1(2,4),s2(3.2,4.0);
cout<<"Area1="<<s1.Area_int()<<endl;
cout<<"Area2="<<s2.Area_double()<<endl;
return 0;
}
第三题
#include<iostream.h>
class countstr
{
private:
int count;
char a[100];
public:
countstr() {count=0;}
void countchar();
int getchar() {return count;}
};
void countstr::countchar()
{
cout<<"enter the string"<<endl;
cin>>a;
while(a[count]!='\0')
{
count++;
}
}
int main()
{
countstr c;
c.countchar();
cout<<"the number="<<c.getchar()<<endl;
return 0;
}
2、
输出结果是:
constructing A
constructing B
constructing C
destructing C
destructing B
destructing A
第一题:
#include<iostream.h>
class Rect
{public:
int Area_int();
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
};
int Rect::Area_int() {return nLength*nWidth;}
Rect::Rect(int l,int w) {nLength=l;nWidth=w;}
Rect::~Rect() {cout<<"Class Rect's destructor"<<endl;}
int main()
{
Rect s(2,4);
cout<<"Area="<<s.Area_int()<<endl;
return 0;
}
第二题
#include<iostream.h>
class Rect
{public:
int Area_int();
double Area_double();
Rect(double l, double w);
Rect(int l, int w);
~Rect();
private:
int nLength;
int nWidth;
double mLength;
double mWidth;
};
int Rect::Area_int() {return nLength*nWidth;}
double Rect::Area_double() {return mLength*mWidth;}
Rect::Rect(int l,int w) {nLength=l;nWidth=w;}
Rect::Rect(double l,double w) {mLength=l;mWidth=w;}
Rect::~Rect() {cout<<"Class Rect's destructor"<<endl;}
int main()
{
Rect s1(2,4),s2(3.2,4.0);
cout<<"Area1="<<s1.Area_int()<<endl;
cout<<"Area2="<<s2.Area_double()<<endl;
return 0;
}
第三题
#include<iostream.h>
class countstr
{
private:
int count;
char a[100];
public:
countstr() {count=0;}
void countchar();
int getchar() {return count;}
};
void countstr::countchar()
{
cout<<"enter the string"<<endl;
cin>>a;
while(a[count]!='\0')
{
count++;
}
}
int main()
{
countstr c;
c.countchar();
cout<<"the number="<<c.getchar()<<endl;
return 0;
}
2、
输出结果是:
constructing A
constructing B
constructing C
destructing C
destructing B
destructing A
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询