題目要求:
實現一種狗貓佇列的結構,要求如下:使用者可以呼叫add方法將cat類或dog類的例項放入佇列中;使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出;使用者可以呼叫polldog方法,將佇列中dog類的例項按照進佇列的先後順序依次彈出;使用者可以呼叫pollcat方法,將佇列中cat類的例項按照進佇列的先後順序依次彈出;使用者可以呼叫isempty方法,檢查佇列中是否還有dog或cat的例項;使用者可以呼叫isdogempty方法,檢查佇列中是否有dog類的例項;使用者可以呼叫iscatempty方法,檢查佇列中是否有cat類的例項。
寵物、狗和貓的類如下:
public class pet
public string getpettypeo i return this.type;}
public class dog extends pet i public dogo i super("dog"):1}
public class cat extends pet i public cato i super("cat"):i}
#include#include#include#include//標準異常庫
using namespace std;
//貓狗佇列
//在c++中,類是不能加許可權修飾符的,只有類的成員或者繼承的時候才能加。
//這裡是public繼承,意思是pet中所有的訪問許可權在dog中不變,如果是peivate繼承,那麼是說pet中的所有成員變成dog的私有成員。
//在子類的建構函式中呼叫父類的有參建構函式就是下面這麼用cat():pet("cat"){};
class pet
pet(){}
string getpettype()};
class dog: public pet };
class cat: public pet};
/************************以上為題目給出原始介面***********************/
//使用乙個帶時間戳的pet類區分貓狗的進入順序
class pettimestamp
pet getpet()
long gettimestamp()
string getpettype()};
貓狗佇列類,這列面有兩個佇列,每個佇列的元素是加了時間戳的pet類
class catdogq
void push(pet pet);
pet popall();
dog popdog();
cat popcat();
bool isempty();
bool isdogempty();
bool iscatempty();
};//貓狗入隊,入隊的同時打上時間戳
void catdogq::push(pet pet)
由於是兩個佇列,因此要按照時間戳彈出,區分三種情況
pet catdogq::popall()
else
}else if(!dogq.empty())
else if(!catq.empty())
else }
dog catdogq::popdog()
else
throw runtime_error("error,empty dog queue!");
}cat catdogq::popcat()
else
throw runtime_error("error,empty cat queue!");
}bool catdogq::isempty()
bool catdogq::iscatempty()
bool catdogq::isdogempty()
int main()
{ catdogq cdq;
if(cdq.isempty())
cout<<"all queue is empty!"《個人
[1] 貓狗佇列**
[2] 個人主頁:
參考文獻[1] c++——貓狗佇列:
演算法 12貓狗佇列
實現一種貓狗佇列的結構,要求如下 1.使用者可以呼叫 add 方法將 cat 或者 dog 放入佇列中 2.使用者可以呼叫 pollall 方法將佇列中的 cat 和 dog 按照進佇列的先後順序依次彈出 3.使用者可以呼叫 polldog 方法將佇列中的 dog 按照進佇列的先後順序依次彈出 4....
貓狗佇列 C 實現
實現一種貓狗佇列的結構,要求如下 1.使用者可以呼叫add方法將cat類或者dog類的例項放入佇列中 2.使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出 3.使用者可以呼叫polldog方法,將佇列中的dog類的例項按照進佇列的先後循序一次彈出 4.使用者可以呼叫p...
week 4 貓狗佇列
topic requirement 寵物 狗和貓的類如下 public class pet public string getpettype public class dog extends pet public class cat extends pet 實現乙個貓狗佇列,要求如下 1.可以呼叫a...