class Terrestrial:virtual public Animal
{
public:
string activity; //活動方式
set1(string na,string se,int ag,string act);
void show1();
Terrestrial();
Terrestrial(string na,string se,int ag,string act):Animal(na,se,ag)//派生類的建構式,輸出資訊
{
activity=act;
}
void enjoy()
{
cout<<"陸生動物生活在陸地上"<<endl;
};
};
class Cat:virtual public Terrestrial
{
public:
string eyesColor;
set3(string na,string se,int ag,string act,string ec);
void enjoy()
{
cout<<"貓咪喜歡喵喵叫"<<endl;
};
void show3();
void show4();
//靜態資料成員,count累計貓咪的數量
static int count;
//靜態成員函式
static int average();
Cat(string na,string ec);
};
#include<iostream>
using namespace std;
#include"Cat.h"
#include<string>
Cat::set3(string na,string se,int ag,string act,string ec)
{
name=na;
sex=se;
age=ag;
activity=act;
eyesColor=ec;
}
void Cat::show3()
{
cout<<"貓咪的名字是:"<<name<<" 喵咪的性別是:"<<sex<<"喵咪的年齡是"<<age<<endl;
cout<<"貓咪的活動方式是"<<activity<<"貓咪的眼睛顏色是:"<<eyesColor<<endl;
}
Cat::Cat(string na,string ec)
{
name=na;
eyesColor=ec;
count++;
}
void Cat::show4()
{
cout<<"貓咪的名字是:"<<name<<"貓咪的眼睛顏色是:"<<eyesColor<<endl;
}
int Cat::average()
{
return(count);
}
menu::h3()//貓咪
{
Animal *an3;
Cat ca;
an3=&ca;
an3->enjoy();
Cat ca1;
ca1.set3("三花貓","雄性",4,"奔跑","異色瞳");
ca1.show3();
Cat ca2("三花貓","異色瞳");
Cat ca3("玳瑁貓","金色瞳");
ca2.show4();
ca3.show4();
cout<<"花園里有:"<<ca3.average()<<"只貓"<<endl;
}
請問該怎么改啊,麻煩好心人指點一下!謝謝!
uj5u.com熱心網友回復:
Cat ca后面無引數uj5u.com熱心網友回復:
樓主貼的代碼不全?uj5u.com熱心網友回復:
確實不全,全放的話太長了,我感覺其他的類和這個錯好像沒什么關系
uj5u.com熱心網友回復:
好像不是這個問題,有引數也不對,告訴你沒有多載函式
uj5u.com熱心網友回復:
錯誤提示沒有合適的建構式,Cat建構式是:Cat::Cat(string na,string ec)
{
name=na;
eyesColor=ec;
count++;
}
你生成物件時:Cat ca; ,引數表為空,所以你得按建構式的引數表,傳入引數,如:Cat ca("貓咪的名字","貓咪的瞳色");
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/282020.html
標籤:C++ 語言
上一篇:求助sumo大神
下一篇:C++
