1.第一题和第二题的验证


1-1 1-2
在多重继承中,如果派生类的成员与基类的成员重名时,对象名.成员名访问的就是派生类的重名成员。
基类中没有虚函数时,通过基类指针访问派生类时,访问的时当前指向的对象的成员。

纯虚函数是在基类中定义的虚函数,它没有函数体,函数体由派生类实现。
2.第三题的源代码
#include<string>
#include<iostream>
using namespace std;
class MachinePets {
public:
MachinePets(const string s);
virtual string talk() = 0;
string getNickname() {
return nickname;
}
private:
string nickname;
};
class PetCats :public MachinePets {
public:
PetCats(const string s);
string talk();
};
class PetDogs :public MachinePets {
public:
PetDogs(const string s);
string talk();
};
MachinePets::MachinePets(const string s) :nickname(s) {
}
PetCats::PetCats(const string s) : MachinePets(s) {
}
string PetCats::talk()
{
string a = "鸡你太美~";
return a;
}
PetDogs::PetDogs(const string s) :MachinePets(s) {
}
string PetDogs::talk()
{
string a = "bilibili乾杯 []~( ̄▽ ̄)~*~";
return a;
}
void play(MachinePets *p)
{
cout << p->getNickname() << "says " << p->talk() << endl;
}
int main() {
PetCats cat("cxk ");
PetDogs dog("fans ");
play(&cat);
play(&dog);
system("pause");
return 0;
}

第四题
(1)#ifndef——CONTAINER
(2)numOfHeal--
(3)bag.set(bag.nOfHeal()+p.bag.nOfHeal(),bag.nOfMW()+p.bag.nOfMW());
(4)void showinfo(player &p1,player&p2)
(5)piblic player
(6)cout<<setw(50)<<"游戏雨女无瓜,好好毒树!!"<<endl;
(7)cout<<endl<<setw(50)<<"滚去毒树!!!"<<endl;

浙公网安备 33010602011771号