C++类与组合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
};
/********** End **********/
int main(){
Circle A(4); //圆的半径为4
Box B(1); //正方形的边长为1
NewStyle C(A,B);
cout<<"自定义图形的面积"<<C.S()<<endl;
cout<<"自定义图形的周长"<<C.L()<<endl;
char HomeAddress[50]; //家庭地址
public:
Person(char a[19],char b[20],char c,int d,char e[50]);
Person(Person &);
Person();
~Person();
void PrintPersonInfo(); //输出人员信息
int get_month();//获取月份
int get_day();//获取日期
};
class card {
int book;//图书编号
int reader;//借阅者编号
date borrow_day;//出借日期
int expiry;//借阅期限
public:
card(int Book, int Reader,date Borrow_day,int Expiry=60);//构造函数
//以下打印借书卡c1信息
cout<<"借书卡c1: "<<endl;
cout<<"-----------------------------------------------------"<<endl;
cout<<setw(10)<<'*'<<"图书号: "<<c1.get_book()<<endl;
组合:
【程序设计】
---------------------------------------------------------
题目:定义一个圆形类,属性有半径和相应的成员函数。
然后定义一个正方形类,属性有边长和相应的成员函数。
再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,
要求该组合类能求出阴影部分面积和周长。通过主函数测试该类。
#include<iostream>
#include<cstring>
using namespace std;
class Person{
char IdPerson[19]; //身份证号,18位数字
char Name[20]; //姓名
char Sex; //性别
int Birthday; //生日,格式1986年8月18日写作19860818
class date{
int year;
int month;
int day;
public:
date(int Year=0,int Month=0,int Day=0);//构造函数,给出初始的年月日
void setdate(int Year,int Month,int Day);//设置年月日
int get_year();//获取年份
A.Set(6); //圆的半径变为6
B.Set(2); //正方形的边长变为2
C.Set(A,B);
cout<<"自定义图形的面积"<<C.S()<<endl;
cout<<"自定义图形的周长"<<C.L()<<endl;
return 0;
}
【程序设计】
---------------------------------------------------------
cout<<"-----------------------------------------------------"<<endl;
}
单类
【程序设计】
---------------------------------------------------------
题目:
设计并测试一个矩形类(Rectangle),属性为矩形的左上与右下角的坐标,
姓名(Name),性别(Sex),生日(Birthday)和家庭住址(HomeAddress)。
成员函数包括人员信息的录入和显示。还包括构造函数与拷贝构造函数。
设计一个合适的初始值。
运行结果见样张。
-------------------------------------------------------*/
矩形水平放置。操作为计算矩形周长与面积。
输出见样张
-------------------------------------------------------*/
#include <iostream>
#include <cmath>
using namespace std;
/**********Program**********/
else if(Sex=='w' ||Sex=='M')cout<<"女"<<'\n';
else cout<<" "<<'\n';
void inputPerson(); //输入人员信息
};
/**********Program**********/
/********** End **********/
void Person::inputPerson(){
cout<<"请输入身份证号,18位数字:"<<endl;
cin.getline(IdPerson,19);
rect2.Show();
cout<<"left-top point is ("<<rect.getLeft()<<","<<rect.getTop()<<")"<<'\n';
cout<<"right-bottom point is ("<<rect.getRight()<<","<<rect.getBottom()<<")"<<'\n';
组合图形见图:组合.JPG
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include <iostream>
#include <cmath>
using namespace std;
const double PI=3.1416;
{
B=b;
}
double S()
{
return PI*B*B;
}
};
class NewStyle{
int A,B;
public:
void input(double a,double b){
A=a;
B=b;
}
double S(){
return 3.14*(A*A)-B*B;
};
double L(){
return 2*PI*A+4*B;
cout<<setw(10)<<'*'<<"图书号: "<<c2.get_book()<<endl;
cout<<setw(10)<<'*'<<"借书人: "<<c2.get_reader()<<endl;
cout<<setw(10)<<'*'<<"借阅期限: "<<c2.get_expiry()<<endl;
date get_borrow_day();//获取出借日期
date get_return_day();//获取归还日期,归还日期=出借日期+借阅期限
int get_book();//获取图书编号
int get_reader();//获取借阅者编号
int get_expiry();//获取借阅期限
};
cout<<setw(10)<<'*'<<"归还日期: "<<c1.get_return_day().get_year()<<":"<<c1.get_return_day().get_month()<<":"<<c1.get_return_day().get_day()<<endl;
cout<<"-----------------------------------------------------"<<endl;
cout<<setw(10)<<'*'<<"借书人: "<<c1.get_reader()<<endl;
cout<<setw(10)<<'*'<<"借阅期限: "<<c1.get_expiry()<<endl;
cout<<setw(10)<<'*'<<"出借日期: "<<c1.get_borrow_day().get_year()<<":"<<c1.get_borrow_day().get_month()<<":"<<c1.get_borrow_day().get_day()<<endl;
cout<<setw(10)<<'*'<<"出借日期: "<<c2.get_borrow_day().get_year()<<":"<<c2.get_borrow_day().get_month()<<":"<<c2.get_borrow_day().get_day()<<endl;
cout<<setw(10)<<'*'<<"归还日期: "<<c2.get_return_day().get_year()<<":"<<c2.get_return_day().get_month()<<":"<<c2.get_return_day().get_day()<<endl;
day.setdate(2012,12,6);//设置借书日期
cbook=100077;//图书者编号
card c2(cbook,stu,day,30);//创建card对象c2
//以下打印借书卡c2信息
cout<<"借书卡c2: "<<endl;
cout<<"-----------------------------------------------------"<<endl;
/********** End **********/
int main(){
Rectangle rect;
rect.Show();
rect.Assign(100,200,300,400);
rect.Show();
Rectangle rect1(0,0,200,200);
rect1.Show();
Rectangle rect2(rect1);
cout<<"请输入地址:"<<omeAddress,50);
}
void Person::PrintPersonInfo(){
int i;
cout<<"身份证号:"<<IdPerson<<'\n'<<"姓名:"<<Name<<'\n'<<"性别:";
if(Sex=='m' ||Sex=='M')cout<<"男"<<'\n';
cout<<"面积"<<rect.Area()<<'\t'<<"周长"<<rect.Perimeter()<<endl;
return 0;
}
程序设计】
---------------------------------------------------------
题目:
设计一个学校在册人员类(Person)。数据成员包括:身份证号(IdPerson),
题目:请补足date类和card的成员函数定义。
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include<iostream>
#include <iomanip>
using namespace std;
cout<<"请输入姓名:"<<endl;
cin.getline(Name,20);
cout<<"请输入性别m或w:"<<endl;
cin>>Sex;
cout<<"请输入生日,格式1986年8月18日写作19860818:"<<endl;
cin>>Birthday;
cin.get(); //吸收回车符,否则地址输不进去
/**********Program**********/
class Box{
int A;
public:
void input(double a){
A=a;
}
double S(){
return A*A;
};
class circle
{
private:
int B;
public:
相关文档
最新文档