| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1443 人关注过本帖
标题:如何改变另一个类中的变量?
只看楼主 加入收藏
tsinson
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-6-5
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:11 
如何改变另一个类中的变量?
第一个类class1中有一个公共变量a,我在第二个类中怎么改变类一的变量,这两个类是相互独立的,我这个做过class1 x;x.a=num;虽然可以对x.a赋值,但class1中的值没有改变,有个帖子里说对象不一样, 不能改变class1中的值,不知道哪位大侠知道怎么改?

[ 本帖最后由 tsinson 于 2009-8-10 10:51 编辑 ]

Password.rar (1.76 MB)
搜索更多相关主题的帖子: 变量 
2009-08-08 21:24
tsinson
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-6-5
收藏
得分:0 
定义全局变量似乎也行不通,因为他们在有不同的头文件类中
2009-08-08 21:29
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:35 
#include<iostream>
using namespace std;
//人类  
class cMan
{
     
    public:
      int nage;//年龄  
      static int nManCount;//人类有多少  
};
 
//静态变量初始化0  
int cMan::nManCount;
int main(int argc,char** argv)
{
    cMan man1;//特指一个人 ,比如可以想象成你 自己  
    man1.nage=20;//你的年龄20岁,和全人类无关,不会因为你年龄20就要全人类都是20岁。  
    cMan::nManCount=100;//全人类目前有100亿 ,不管是你或是其他人,这个数相同。
    cMan man2;  
    cout<<man1.nManCount<<" "<<man2.nManCount<<endl;
    return 0;
}
收到的鲜花
  • tsinson2009-08-11 18:03 送鲜花  3朵  
2009-08-09 06:12
tsinson
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-6-5
收藏
得分:0 
有的帖子上说可以通过设置静态变量改变各个对象都有相同的某项属性,可是为什么在我这里会出现 fatal error LNK1120: 1 unresolved externals和unresolved external symbol "public: static int CPasswordDlg::a" (?a@CPasswordDlg@@2HA)的错误信息. 面向对象的应该是可以直接用class1::a的吧?我是直接在class1中的a变量前加了个static.加上static后就有上述错误信息,不知您能否帮我解答一下.
2009-08-09 10:47
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:0 
贴代码
2009-08-09 11:12
tsinson
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-6-5
收藏
得分:0 
不好意思,昨天有点事,没来得急用时回复,请谅解.我已经把这个简单程序弄上去了,我的目的是希望在AlterCode里改变a的值.不在Password里的变量a前加一个static,程序无错误,加了之后有三个错误,请你看一下,麻烦你了.
2009-08-10 11:02
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:0 
其实我前面已经提到过了,你静态变量要初始化,你虽然在CPasswordDlg.h中声明static int a,但是在CPasswordDlg.cpp中没有初始化,你要加上int CPasswordDlg::a;,这里初始化a=0;你可以加在如下位置:


int CPasswordDlg::a;
class CAboutDlg : public CDialog

2009-08-10 20:21
tsinson
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-6-5
收藏
得分:0 
错误倒是没有了,可是a的值还是没变,调试了一下,就是m_PasswordNew不能赋值给a,好像与理论上不太相符.
2009-08-11 11:08
xufen340
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1351
注 册:2009-8-7
收藏
得分:0 
改变了阿,为什么你说没改变。
2009-08-11 12:39
tsinson
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-6-5
收藏
得分:0 
哦,是吗?我查看了几次,我发现a的值还是没变?还是123,唉.
2009-08-11 16:19
快速回复:如何改变另一个类中的变量?
数据加载中...
 
   



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

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