#include <iostream>
#include <string>
using namespace std;
// my code starts
class Cat {
public:
int age;
string name, race, voice;
Cat(int age2,string name2,string race2,string voice2);
void PrintInformation();
};
Cat::Cat(int age2,string name2,string race2,string voice2) {
age = age2;
name = name2;
race = race2;
voice = voice2;
}
Cat::Meow(){
cout << "Cat says: " << fluffy.Meow() << endl;
}
void Cat::PrintInformation() {
cout << "Name: " << name;
cout << "\nAge: " << age;
cout << "\nRace: " << race << endl;
}
// my code ends
int main()
{
Cat fluffy(2, "Fluffy", "Bombay", "Meoow!!!");
fluffy.PrintInformation();
cout << "Cat says: " << fluffy.Meow();
}
我似乎无法弄清楚如何使这段代码工作。我的主要问题似乎是我不知道如何从fluffy.Meow();
拨打int main()
。
谢谢,任何帮助!
答案 0 :(得分:1)
您忘记在课程声明中声明 Cat::Meow
。
//some code
void PrintInformation();
void Meow();
此外,您必须指定函数Meow
的返回类型,在您的情况下它将是void
,因为它不返回任何内容。
你还有一些递归,Meow
调用Meow
(忘记fluffy
不是这个范围内的变量这一事实)。您的Cat
类对实例fluffy
一无所知,因此您无法访问它。
我猜你的意思是voice
。