2016-05-20 12 views
-3
#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

クラス定義に 'Meow()'を宣言していません。それは戻り型も必要です。 – Galik

答えて

1

を忘れました。Cat::Meowをクラス宣言してください。

//some code 
void PrintInformation(); 
void Meow(); 

また、あなたが機能Meowの戻り値の型が何であるかを指定する必要があり、それは何も返しませんので、あなたのケースでは、voidだろう。

MeowMeowfluffyはこのスコープの変数ではないという事実を忘れています)を呼び出している再帰もあります。 Catクラスはインスタンスfluffyについて何も知らないので、アクセスできません。

代わりにvoiceを意味すると思います。

関連する問題