| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1038 人关注过本帖
标题:VC中的全局对象要怎做声明?
取消只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:1 
VC中的全局对象要怎做声明?
例如:
<AAA.h>中
CString a,b,c;    //全局对象
bool SplitFile(bool,bool); //Function head

<stdafx.h>中
#include "AAA.h"

<BBB.cpp>中
#include "stdafx.h"
void C123Dlg::OnOpenFile()
{
    CFileDialog dlg(true);
    CString msg = dlg.GetPathName();
    控件对象.SetWindowText(msg);
    a=msg;
    int i=a.ReverseFind("\\");
    int j=a.GetLength()-i;
            
    b=a.Mid(0,i) + "\\";
    c= dlg.GetFileTitle();
    UpdateData(false);

    if (QQQ(True,True)!=True)
    {
        .....
    }
    ......
}

<CCC.cpp>中
#include "stdafx.h"
bool QQQ(bool ss,bool dd)    //这段主要做单档(>1GB)切割成批次档用~
{
    CFile m_file;
    CFileDialog dlg(TRUE);
    CString AA,BB,CC;
    AA=a;BB=b;CC=c;
    .......
}

为何这样写Compliar时一直出现
.....CString a already defined in StdAfx.obj
.....CString b already defined in StdAfx.obj
.....CString c already defined in StdAfx.obj

非得要用局域对象当参数传递才会正常?
不太懂MFC~越写越像C~
只要设成全局就一定Error!

[ 本帖最后由 wube 于 2012-2-8 19:40 编辑 ]
搜索更多相关主题的帖子: 声明 void include false 
2012-02-08 19:39
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
所以CString这个类在整个工程中只能被定义一次~
其他地方需要引用相同类时需要加上引用符号~
程序才有办法辨别两者类是相同的意思~
新档内的类因为要继承原类原本资料~
增加的类名只是原类的一个别名的意思吧?

看来我把类和一般变量用法搞混了~

不要選我當版主
2012-02-09 09:38
快速回复:VC中的全局对象要怎做声明?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015879 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved