題目是這樣的:
定義一個Cat類,擁有靜態資料成員numOfcats,記錄Cat的個體數目;靜態成員函式getNumOfCats(),存取numofCats。
設計程式測驗這個類,體會靜態資料成員和靜態成員函式的用法
#include<iostream>
using namespace std;
/************************
Cat類的定義,建構式、復制建構式、解構式、個數的輸出函式getNumOfCats()
***********************/
int main()
{
Cat::getNumOfCats();
Cat mycat1(4);
Cat::getNumOfCats();
Cat mycat2(mycat1);
Cat::getNumOfCats();
return 0;
}
Input
無輸入
Output
輸出每次統計的貓的個數
Sample Output
There are 0 cats alive!
There are 1 cats alive!
There are 2 cats alive!
然后我的代碼是這樣的:
#include<iostream>
using namespace std;
class Cat
{
public:
Cat(){++NumOfCats;}
Cat(const Cat& cat){++NumOfCats;}
static int getNumOfCats()
{
return NumOfCats;
}
static void mycat()
{
cout<<"There are "<<Cat::getNumOfCats()<<" cats alive!"<<endl;
}
private:
static int NumOfCats;
};int Cat::NumOfCats=0;
int main()
{
Cat::getNumOfCats();
Cat mycat1(4);
Cat::getNumOfCats();
Cat mycat2(mycat1);
Cat::getNumOfCats();
return 0;
}
顯示編譯錯誤:無法將引數1從'const int'轉換為'const class Cat&'
這是什么問題啊,從一開始學編程的時候就總是犯這個錯誤,沒有得到過根治。封在家半個月又忘記怎么處理了。如果有大佬愿意花時間幫忙解決,小生感激不盡!
uj5u.com熱心網友回復:
Cat mycat1(4);//沒有實作有引數是int的Cat(const Cat& cat){++NumOfCats;}//只有這個拷貝建構式,
Cat(int a){NumOfCats = a;} //這樣就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/101705.html
標籤:C++ 語言
上一篇:Rtscom實時觸筆如何實作墨跡撤銷、恢復、清空、擦除功能
下一篇:c++大佬救救我
