C++ 函数之间的调用

meijingguoyu 2009-06-11 11:47:21
在ComBox.cpp中:

...
void CComBox::OnOK()
{
download_data_Get(strData,dataList);

CDialog::OnOK();
}

BOOL CComBox::download_data_Get( CString &str1, int &dataList) // 获取下载数据的大小数
{
int ndataList = m_dataList.GetCurSel();
if (CB_ERR == ndataList)
return FALSE;
switch (ndataList)
{
case 0 : dataList = 512; break;
case 1 : dataList = 1024; break;
case 2 : dataList = 2048; break;
case 3 : dataList = 3072; break;
case 4 : dataList = 4096; break;
case 5 : dataList = 5120; break;
case 6 : dataList = 6144; break;
case 7 : dataList = 7168; break;
case 8 : dataList = 8192; break;
default :
dataList = 3072;
}
m_dataList.GetLBText(m_dataList.GetCurSel(),str1);
return TRUE;
}
...


在ICEView.cpp 中:
...
for (int nCntrinput =1; nCntrinput <= 4096; nCntrinput ++)
....

我该如何在ICEView.cpp中for循环的第二项 nCntrinput 值为我获得下载数据的大小数啊(就是能让它指向dataList所对应的值)。
...全文
111 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
meijingguoyu 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 surlover 的回复:]
4分是技术分吧?
[/Quote]
技术分如何获得啊
还有我的可用分也是不见涨啊!
surlover 2009-06-15
  • 打赏
  • 举报
回复
4分是技术分吧?
meijingguoyu 2009-06-15
  • 打赏
  • 举报
回复
我是这样做的:
在ComBox.h中声明:
int NdataList;
void setNdataList(int listLength);
int getNdataList(int listLength);

在Com.cpp中调用:
void CComBox::setNdataList( int listLength )
{
listLength = NdataList;
}

int CComBox::getNdataList( int listLength )
{
return listLength;
}
在ICEView.cpp中:
int x = CComBox.NdataList;
或者 int x = CComBox::getNdataList(); // getNdataList 应该给它传什么参数啊。

在ICEView中调用NdataList的值时,出错,为什么啊,或者说该如何调用啊,谢谢!
meijingguoyu 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 oneOO8 的回复:]
在Com.cpp中:
定义void setNdataList(int listLength); // 用于给ndataList赋值,把listLength赋给ndataList
int getNdataList(int listLength); //调用setNdataList(),download_data_Get(),最后返回dataList的值

然后就可以在ICEView中调用CComBox::getNdataList(...)来获取dataList的值了
[/Quote]

能否说的再详细点啊,谢谢拉,我还是不明白。
goodname 2009-06-11
  • 打赏
  • 举报
回复
没有看太懂

我觉得你只需要获得CComBox类的m_dataList值就可以了。
ameyume 2009-06-11
  • 打赏
  • 举报
回复
全局变量?允许用不?
或者,做一个成员变量,增加set,get成员函数,在ComBox.cpp中set设置值,在ICEView.cpp 中get取得值
ouyh12345 2009-06-11
  • 打赏
  • 举报
回复
看CComBox和CICEView之间的关系了
如果比较复杂,则把dataList的值存入app类里
oneOO8 2009-06-11
  • 打赏
  • 举报
回复
在Com.cpp中:
定义void setNdataList(int listLength); // 用于给ndataList赋值,把listLength赋给ndataList
int getNdataList(int listLength); //调用setNdataList(),download_data_Get(),最后返回dataList的值

然后就可以在ICEView中调用CComBox::getNdataList(...)来获取dataList的值了
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
大家帮帮我啊,我刚学C++不久,Boss催的急。
我的可用分只有4分,可是两个月前就没见涨过了,不知道是不是bug。
我会把我的所有可用分都拿出来的。
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
当我这样写的时候:
for (int nCntrinput =1; nCntrinput <= CComBox.getNdatalist(CComBox.setNdatalist()); nCntrinput ++) //想获取datalist的值
或者这样:
for (int nCntrinput =1; nCntrinput <= CComBox.ndatalist; nCntrinput ++)
会有错误:“illegal use of this type as an expression”。
能教下我该如何获取吗?
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ameyume 的回复:]
引用 9 楼 meijingguoyu 的回复:
引用 2 楼 ameyume 的回复:
全局变量?允许用不?
或者,做一个成员变量,增加set,get成员函数,在ComBox.cpp中set设置值,在ICEView.cpp 中get取得值


Get? Set? 没有这样的函数啊,你能说的详细点吗?


例如
声明一个成员变量:
int ndataList;
声明成员函数:
void setNdataList(int listLength); // 用于给ndataList赋值,把listLength赋给ndataList
int getNdataLi…
[/Quote]

我按照你的方法是这样来做的:
在ComBox.h 中:
...
int ndatalist; //声明成员变量
void setNdatalist(int listLength); //声明成员函数
int getNdatalist(void); //声明成员函数
...
然后在Com.cpp中:
...
BOOL CComBox::download_data_Get( CString &str1, int &dataList)
{
int ndataList = m_dataList.GetCurSel();
if (CB_ERR == ndataList)
return FALSE;
switch (ndataList)
{
case 0 : dataList = 17; break;
case 1 : dataList = 1024; break;
case 2 : dataList = 2048; break;
case 3 : dataList = 3072; break;
case 4 : dataList = 4096; break;
case 5 : dataList = 5120; break;
case 6 : dataList = 6144; break;
case 7 : dataList = 7168; break;
case 8 : dataList = 8192; break;
default :
dataList = 3072;
}
m_dataList.GetLBText(m_dataList.GetCurSel(),str1);
void setNdatalist(int dataList); // 赋值dataList
return TRUE;
}

可是我在ICEView中该如何调用getNdataList();
还有我没看到getNdataList和setNdatalist有联系啊,请指教,谢谢
ameyume 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 meijingguoyu 的回复:]
引用 2 楼 ameyume 的回复:
全局变量?允许用不?
或者,做一个成员变量,增加set,get成员函数,在ComBox.cpp中set设置值,在ICEView.cpp 中get取得值



Get? Set? 没有这样的函数啊,你能说的详细点吗?
[/Quote]
例如
声明一个成员变量:
int ndataList;
声明成员函数:
void setNdataList(int listLength); // 用于给ndataList赋值,把listLength赋给ndataList
int getNdataList(void); // 返回ndataList的值

在ComBox.cpp中执行setNdataList函数,给ndataList赋值
在ICEView.cpp中执行getNdataList函数,取出ndataList的值

不知这样可以不?
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ameyume 的回复:]
全局变量?允许用不?
或者,做一个成员变量,增加set,get成员函数,在ComBox.cpp中set设置值,在ICEView.cpp 中get取得值
[/Quote]

Get? Set? 没有这样的函数啊,你能说的详细点吗?
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 NirvanaVirus 的回复:]
引用 6 楼 meijingguoyu 的回复:
还有 想问下 我回帖很积极的啊,为啥我的可用分从来不涨呢?一直是4分



每天只要上线就能得到10分的可用分,多多参加论坛里面的一些活动也能得可用分。例如上次端午节活动,我就得了88分,还挺吉利的分数~
[/Quote]

我回复也不涨 很郁闷,我人品很好的啊!!!不闯红灯,捡到钱上交警察叔叔,不随地吐痰,不乱丢垃圾。
NirvanaVirus 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 meijingguoyu 的回复:]
还有 想问下 我回帖很积极的啊,为啥我的可用分从来不涨呢?一直是4分
[/Quote]

每天只要上线就能得到10分的可用分,多多参加论坛里面的一些活动也能得可用分。例如上次端午节活动,我就得了88分,还挺吉利的分数~
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
还有 想问下 我回帖很积极的啊,为啥我的可用分从来不涨呢?一直是4分
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
3# 是的 就是想直接获得m_dataList的值,有什么办法吗?我不是太懂,刚学C++。
meijingguoyu 2009-06-11
  • 打赏
  • 举报
回复
是的,就是想获得m_dataList的值。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧