首页 > 其他 > 详细

shi yan4

时间:2019-05-21 18:29:37      阅读:76      评论:0      收藏:0      [点我收藏+]
//Array.h
#include<iostream>
using namespace std;
class Arrayint
{
	public:
		Arrayint(int n,int value=0);
		~Arrayint();
		int& operator[](int i);
		void print();
	private:
		int *p;
		int size;
};
//Array.cpp
#include"Arrayint.h"
#include<iostream>
#include<cstdlib>
#include<cassert>
using namespace std;
Arrayint::Arrayint(int n,int value):size(n)
{
	p=new int[size];
	if(p==nullptr)
	{
		cout<<"fail to mallocate memory"<<endl;
		exit(0);
	}
	for (int i=0;i<size;i++)
	    p[i]=value;
}
Arrayint::~Arrayint()
{
	delete[] p;
}
void Arrayint::print()
{
	for (int i=0;i<size;i++)
		cout<<p[i]<<" ";
	cout<<endl;
}
int& Arrayint::operator[](int i)
{
	assert(i>=0&&i<=size);
	return p[i];
}
//main.cpp
#include <iostream>
#include"Arrayint.h"
using namespace std;
int main() 
{
	Arrayint a(2);
	a.print();
	Arrayint b(3,6);
	b.print();
	b[0]=2;
	cout<<b[0]<<endl;
	b.print();
	return 0;
}

  技术分享图片

 

//Car.h
#include<iostream>
#include<cstring>
using namespace std;
class Car
{
	public:
		Car(string maker="libing",string model="072921",int year=2018,int odometer=0);
		friend ostream & operator<<(ostream& out,const Car &c);
		void updateOdometer(int newodometer);
	private:
		string maker,model;
		int year,odometer;
};
//Car.cpp
#include"Car.h"
#include<iostream>
using namespace std;
Car::Car(string maker,string model,int year,int odometer):maker(maker),model(model),year(year),odometer(odometer){}

void Car::updateOdometer(int newodometer)
{
	if(newodometer<odometer)
	   cout<<"Warning!!!wrong!"<<endl;
	else
	   odometer=newodometer;
}
//Battery.h
#include<iostream>
#include<cstring>
using namespace std;
class Battery
{
	public:
		Battery(string batterySize="70-kWh");
		string get()
		{
			return batterySize;
		}
	private:
		string batterySize;
};
//Battery.cpp
#include<iostream>
#include<cstring>
#include”Battery.h”
using namespace std;
Battery::Battery(string batterySize="70-kWh"):batterySize(batterySize){}
//ElectricCar.h
#include"Car.h"
#include"Battery.h"
#include<iostream>
#include<cstring>
using namespace std;
class ElectricCar: public Car
{
	public:
		ElectricCar(string maker="libing",string model="072921",int year=2018);
		friend ostream & operator<<(ostream &out,const ElectricCar &c);
	private:
		string maker,model,batterysize;
		int year;
		Battery battery;		
};
//ElectricCar.cpp
#include<cstring>
#include"ElectricCar.h"
ElectricCar::ElectricCar(string maker="libing",string model="072921",int year=2018):maker(maker),model(model),year(year)
		{
			batterysize=battery.get();
		}

//main.cpp
#include<iostream>
#include<cstring.h>
#include"Car.h"
#include"Battery.h"
#include"ElectricCar.h"
using namespace std;
ostream& operator<<(ostream& out,const Car &c)
{
	out<<c.maker<<" "<<c.model<<" "<<c.year<<" "<<c.odometer<<endl;
	return out;
}
ostream& operator<<(ostream& out,const ElectricCar &ec)
{
	out<<c.maker<<" "<<ec.model<<" "<<ec.year<<" "<<ec.battery<<endl;
	return out;
}
int main ()
{
	Car oldcar("Audi","a4",2016);
	cout<<"--------oldcar‘s info--------"<<endl;
	oldcar.updateOdometer(25000);
	cout<<oldcar<<endl;
	ElectricCar newcar("telsa","model s",2016);
	newcar.updateOdometer(2500);
	cout<<"--------newcar‘s info--------"<<endl;
	cout<<newcar<<endl;
	return 0;
}

  

技术分享图片

 

shi yan4

原文:https://www.cnblogs.com/libing-072921/p/10901396.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!