我在CMyDocument 类的头文件中定义了public的变量  int a
  我想在CDialog中的一个函数引用它,我是这么写的
     int b;
     b=CMyDocument.a;
   为什么不行呢?
  还有.和::有什么区别呢?

解决方案 »

  1.   

    呵呵,你要定义一个CMyDocument的对象, 比如是aa
    然后 b = aa.a就可以啦呵呵
    没人打你,书上都有的,去认真的看一看,我想你会理解的更深刻的啦
      

  2.   

    CMyDocument.a
    这种用法只有在a是静态变量或者嵌套类的时候可以!否则你必须类似如下应用:
       CMyDocument myDoc;
         int b;
         b=myDoc.a;
      

  3.   

    类只是一种类型(但也不能完全这么说,只能这么理解,在delphi中存在"类类型"它们都收TObject开始,所有它们的构造函数也可以是virtual的,但是,在c++中是不存在"类类型"的.),并没有在分配内存,因此不存在在"值",而只存在"型",比如:数据库中的关系模型是一种"型",而数据库的关系(表)是一种"值),型是相对固定的,而值是相对变动的,型是表示型与型的特点和关系,而值是表示某一时刻的状态.明白点没?好运.
      

  4.   

    回复人: handsomerun(毛毛) ( ) 信誉:105  2005-07-13 11:15:00  得分: 0  
     
     
       呵呵,你要定义一个CMyDocument的对象, 比如是aa
    然后 b = aa.a就可以啦呵呵
    没人打你,书上都有的,去认真的看一看,我想你会理解的更深刻的啦
      
     
    说的对
      

  5.   

    仔细看看 C++ 的书就好了
    只有静态成员变量可以使用 CDocument::a 进行访问
    而其他成员变量都必须通过对象进行访问