我有一個父類,它擁有一張地圖,並且n我用來繼承該類的子類因爲某些原因無法訪問我不能支持的地圖爲什麼我想訪問地圖內的值。地圖繼承
我的代碼如下
//HEADER FILE
#include <iostream>
#include <map>
using namespace std;
//////PARENT CLASS
struct TTYElementBase
{
//some code here
};
class element
{
public:
std::map<char,std::string> transMask;
std::map<char,std::string>::iterator it;
void populate();
};
//////CHILD CLASS .HPP
class elementV : public element
{
public :
std::string s1;
std::string s2;
elementV();
friend ostream &operator<< (ostream &, const elementV &);
void transLateMask();
};
//CPP FILE
#include "example.h"
#include <iostream>
elementV::elementV()
{
}
void elementV::transLateMask()
{
for (it=transMask.begin() ; it != transMask.end(); it++)
cout << (*it).first << endl;
}
int main()
{
elementV v;
v.transLateMask();
}
// ' OUTPUT IS NOTHING I DONT KNOW WHY?'
輸出是什麼,但我需要存取權限地圖弗朗父類,我在做什麼錯?
任何幫助,我會很gratefull
感謝
的程序編譯,但在運行時失敗? – hmjd 2012-01-12 17:09:01
地圖是否有一個由「D」標記的條目? – 2012-01-12 17:10:07
你能說明地圖是如何填充的嗎?如果'D'不存在,那麼你正在引用一個過去末端的迭代器,這是未定義的行爲。 – hmjd 2012-01-12 17:14:18