こんにちは。現在C++の勉強中です。
リストがよくわからず、苦戦しております。
下記のような処理において、hogehogehogeクラスのhogelistの中に値を入れたいのですが、
どのような処理を追加していいのかわかりません。
hogeクラスに直接値をいれると自動的にhogehogehogeクラスのhogeリストにも
値が入るのかなと思い、下記のように書いてみましたがダメでした。
駄文で申し訳ございませんが、ご教示頂けると幸いです。
###該当のソースコード
//----------------------------------------------------------
//hogeクラス
//----------------------------------------------------------
class hoge
{
public:
hoge()
{
m_str1.Empty();
m_str2.Empty();
}
virtual~hoge(){} hoge&operator=(const hoge&s1) { m_str1=s1.m_strS1; m_str2 =s1.m_str2; return *this; } bool operator==(const hoge&s1)const { return &s1==this; }
public:
CString m_str1;
CString m_str2;
public:
void Setstr1 (CString val){m_str1=val;}
void Setstr2 (CString &val){m_str2=val;}
CString Querystr1(){return m_str1;}
CString Querystr2(){return m_str2;}
};
//----------------------------------------------------------
//hogeリスト
//----------------------------------------------------------
class hogeList :public CList<hoge,hoge&>
{
public:
hogeList(){}
virtual~hogeList(){}
hogeList&operator=(const hogeList&s1)
{
if(this == &s1) { return *this; } RemoveAll(); POSITION pos; pos = s1.GetHeadPosition(); for(;pos;) { hoge&item = (hoge&)s1.GetNext(pos); AddTail(item); } return *this; }
};
//----------------------------------------------------------
//hogehogehogeクラス
//----------------------------------------------------------
class hogehogehoge
{
public:
hogehogehoge(){}
virtual ~hogehogehoge(){}
hogehogehoge&operator=(const hogehogehoge&s1)
{
m_str3 = s1.m_str3;
m_lshoge= s1.m_lshoge;
return *this;
}
bool operator==(const hogehogehoge&s1)const
{
return &s1 == this;
}
public:
CString m_str3 ; //
hogeList m_lshoge; //
public:
void Setstr3 (CString &val){m_str3 =val;}
void Setlshoge (ChogeList &val){m_lshoge=val;}
CString &Querystr3 (){return m_str3 ;}
hogeList &Querylshoge (){return m_lshoge ;}
};
//----------------------------------------------------------
//メイン
//----------------------------------------------------------
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
hogehogehoge HOGEHOGEHOGE
HOGEHOGEHOGE.Setstr3="あいさつ"
//悩んでいるところ
hoge HOGE
HOGE.Setstr1 = "おはよう"
HOGE.Setstr2 = "こんにちわ"
}

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/23 02:56
2016/04/23 03:20 編集