毎度おせわになります。構造体について色々お聞きしたいことがあります。
NoticeListDlg.cpp,NoticeListDlg.hとNoticeDetailsDlg.cpp,NoticeDetailsDlg.hというファイルがあり、NoticeListDlg.cppでは、xmlを読み込んでそれを表示したりする処理があるとします。ダイアログ上の次へボタンを押すと、NoticeDetailsDlg.cppに遷移して、そこでまた色々処理をするのですが、NoticeListDlg.cppでxmlから読み込んだデータをNoticeListDlg.hで定義した構造体に持たせておいて、それをNoticeListDlg.cppでも使いたいと思っています。
構造体の中身を
typedef struct _NOTICE_INFO {
CString csParticiUserId;
CString csNoticeTitle;
CString csNoticeText;
} NOTICE_INFO , *LPNOTICE_INFO;
と定義するとして、NoticeListDlg.cppで使うには、どういった書き方をすればいいのでしょうか?
構造体について色々調べて見たのですが、いまいち理解できずでした・・・・・><
サンプルなどを提示していただけるとすごくありがたいです。
環境は、visual studio2005 VC++(MFC) vistaです。
宜しくお願い致します。
よくわかんないんだけど、
XMLから読んだ値をNOTICE_INFOに詰め込んで、
たとえばNoticeListDlgのコンストラクタに渡せばいぃんじゃないかしら。
たとえば、ですよ。
要は「XMLに基づいた値をNOTICE_INFOの介してなんらかのクラスに渡したい」てことかと。
ならばコンストラクタでもメンバ関数でも、引数で与えてやればいい。
επιστημηさん、さっそくのコメントありがとうございます。
>「XMLに基づいた値をNOTICE_INFOの介してなんらかのクラスに渡したい」
そうです。まさにそれをやりたいんですが、これは別に構造体を使わなくても実現できるのでしょうか?
>コンストラクタでもメンバ関数でも、引数で与えてやればいい
とは、どういう風に書けばいいのでしょうか?聞いてばかりで申し訳ないのですが、宜しくお願い致します。
> どういう風に書けばいいのでしょうか?
なにがわからんのかわからんです。
#include <string>
#include <iostream>
using namespace std;
struct Package {
string item;
int quantity;
};
class Person {
Package pkg;
string name;
public:
Person(string n, Package p) : name(n), pkg(p) {}
void print() const {
cout << name << " は " << pkg.item << " を "
<< pkg.quantity << " 個もってます" << endl;
}
};
int main() {
Package p; p.item = "りんご"; p.quantity = 5;
Person taro("太郎", p);
taro.print();
}
επιστημηさん、お世話になります。
サンプル提示ありがとうございます。とても参考になりました。
今後も宜しくお願い致します。
ツイート | ![]() |