无法使用指向该对象的指针调用对象的方法

时间:2015-03-29 08:16:11

标签: c++ pointers object

所以我通常不会在这么简单的事情上发帖,但我不能为我的生活弄清楚我做错了什么,这可能是一件非常简单的事情。

直截了当地说,我正在创建一个对象指针,然后使用该指针调用该特定对象的方法。

但是出于某种原因我每次都按照以下方式进行操作:

Entry FirstEntry = Entry(J1,H1);
cout << FirstEntry.getItem() << endl;
cout << FirstEntry.getKey() << endl;


Entry *siz = new Entry(); 

cout << siz->getItem() << endl; 

它给我一个空行输出。而它应该给我我的物品价值。 对象本身看起来像这样:

Entry::Entry()                          
{

}

Entry::Entry(KeyType & Key, ItemType & newItem) 
{
    setKey(Key);
    setItem(newItem);
}

Entry::~Entry() 
{

}

ItemType Entry::getItem() const
{
    return item; 
}

KeyType Entry::getKey() const
{
    return searchKey;
}
void Entry::setItem(const ItemType & newItem)
{
    item = newItem;
}

void Entry::setKey(const KeyType & Key)
{
    searchKey = Key;
}

我已经盯着这段代码了一段时间,我无法弄清楚是什么导致它输出一个空行。

非常感谢你的耐心,

1 个答案:

答案 0 :(得分:0)

好的,感谢这两个帖子,我在这里做错了很明显,当我创建指向我的对象的指针时,我指向没有设置任何值的构造函数,因此当我返回值时我的指针技术它给了我准确的值。它们只是空值,因此它是一个空行。

修复:

Entry *siz = new Entry(J1,H1); //This line didn't hold parameters to call right constructor

cout << siz->getItem() << endl;