南邮c++实验一

第一问:

#include<iostream>
#include<string>
using namespace std;
class BookCard
{
private:
	string id;
	string stuName;
	int number;
public:
	BookCard(string i,string s,int n);
	BookCard(const BookCard & per);
	BookCard();
	void dispaly();
	bool borrow();
};
 BookCard::BookCard()
	{
		id="B19010250";stuName="雪峰";number=4;
	}
 BookCard::BookCard(const BookCard & per)
	{
		id=per.id;
		stuName=per.stuName;
		number=per.number;
	}
 BookCard::BookCard(string i,string s,int n)
	{
		id=i;stuName=s;number=n;}

bool BookCard::borrow()
{
	if(number==10)
		return false;
	else
		return true;
}
void BookCard::dispaly()
{
	cout<<id<<" "<<stuName<<" "<<number<<endl;
}
	void f(BookCard bk)
	{
		if(!bk.borrow())
		{
			bk.dispaly();
			cout<<"you have borrowed 10 books,can not borrow any more!"<<endl;
		}
		else
			bk.dispaly();
	}
	int main()
	{
		BookCard bk1("B20190620","东平",10),bk2;
		f(bk1);
		f(bk2);
		return 0;
	}

第二问

#include<iostream>
#include<string>
using namespace std;
class Time
{
private:
	int Hour,Minute,Second;
public:
	Time(int h=0,int m=0,int n=0);
	Time(const Time &ob);
	~Time();
	void ChangeTime(int h,int m,int s);
	int GetHour();
	int GetMinute();
	int GetSecond();
	void PrintTime();
	//void IncreaceOneSecond();
};
void Time::ChangeTime(int h,int m,int s)
{
	Hour=h;Minute=m;Second=s;
}
Time::Time(int h,int m,int n)
{
	//cout<<"Constructing..."<<endl;
	Hour=h;Minute=m;Second=n;
}
Time::Time(const Time &ob)
{
	//cout<<"Copy constructing..."<<endl;
	Hour=ob.Hour;Minute=ob.Minute;Second=ob.Second;
}
Time::~Time()
{
	//cout<<"Destructing"<<endl;
}int Time::GetHour()
{
	return Hour;
}
int Time::GetMinute()
{
	return Minute;
}
int Time::GetSecond()
{
	return Second;
}
void Time::PrintTime()
{
	cout<<Hour<<" "<<Minute<<" "<<Second<<endl;
}
/*void Time::IncreaceOneSecond()
{
Second=Second+1
}*/
/*void f(Time t)     //做(4)题时取消注释
{
t.PrintTime();
cout<<"call f\n";
}*/
int main()
{
	Time a,b,c,d;
	Time b=Time(1);
	Time c=Time(1,2);
	Time d=Time(1,2,3);
	a.PrintTime();
	a.ChangeTime(7,8,9);
	cout<<a.GetHour()<<":"<<a.GetMinute()<<":"<<a.GetSecond()<<endl;
	return 0;
}

第三问

#include<iostream>
#include<string>
using namespace std;
class Boy;
class Girl
{
	char name[25];
	int age;;
public:
	Girl(char N[],int A);
	~Girl()
	{
		cout<<"Girl destructing...\n";
	}
	void Print();
	void VisitBoy(Boy & t);
};
class Boy
{
	char name[25];
	int age;
	friend Girl;
public:
	Boy(char N[],int A);
	~Boy()
	{
		cout<<"Boy destructing...\n";
	}
	void Print();
	//void VisitGril(Girl &);
};
Girl::Girl(char N[],int A)
{
	strcpy(name,N);
	age=A;
	cout<<"Gril construting...\n";
}
Boy::Boy(char N[],int A)
{
	strcpy(name,N);
	age=A;
	cout<<"Gril construting...\n";
}
void Girl::Print()
{
	cout<<"Girl's name: "<<name<<endl;
	cout<<"Girl's age: "<<age<<endl;
}
void Girl::VisitBoy(Boy & boy)
{
	cout<<"Boy's name: "<<boy.name<<endl;
	cout<<"Boy's age: "<<boy.age<<endl;
}
int main()
{
	Girl lbl=Girl("lll",19);
	Boy Tim=Boy("bbb",18);
	lbl.Print();
	lbl.VisitBoy(Tim);
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值