【发布时间】:2015-06-09 12:25:06
【问题描述】:
请帮助我,我对目标 C++ 还很陌生,我不知道如何正确获取变量 inicjatywa。 我不知道出了什么问题。我可能不完全理解虚拟和抽象类,所以我很乐意解释我的错误。 我希望程序使用 Organizmy 类中的指针从我的对象 Wolf 输出 inicjatywa 的值(值 = 5)。
class Organizmy
{
public:
int inicjatywa;
virtual void akcja() = 0;
virtual void kolizja() = 0;
virtual void rysowanie() = 0;
virtual ~Organizmy(){};
};
class Animal: public Organizmy
{
public:
int inicjatywa;
virtual void akcja() = 0;
virtual void kolizja() = 0;
virtual void rysowanie() = 0;
virtual ~Animal(){};
};
class Wolf: public Animal
{
public:
int inicjatywa;
Wolf(){
cout << "Crate Wolf" << endl;
this->inicjatywa = 5;
};
~Wolf(){};
void akcja(){};
void kolizja(){};
void rysowanie(){
cout << "W" << endl;
cout << this->inicjatywa << endl; // here he output 5
};
};
int main()
{
Organizmy *b; // I create new poiter; type Organizmy
b=new Wolf(); // He is now pointing new object Wolf
b->rysowanie(); // here he outputs correct value of the new elemnt
cout<<b->inicjatywa<< endl; //but here the code outputs -8421....
//and it should be 5 not -8421....
}
【问题讨论】:
-
???请阅读编辑帮助(编辑器中的问号显示),尤其是关于格式化代码的部分。我不知道你的问题可能是什么?
-
Objective-C 或 C++。究竟是哪一个? “而且我不知道如何正确获取变量 inicjatywa ...” 我什至没有正确理解它的语义,所以我应该如何帮助?
-
英文版minimal sample code,以及对您的特定错误消息/输入/预期输出的描述将大大改善您的问题。
-
感谢您提供如何正确提问的建议,这是我的第一个问题,所以我会改进,但我仍然需要帮助;/
-
@Bliseq 嗯,你已经有机会改进这个了,按照我给你的建议编辑它。