我想添加一个类,想它直接从CObject中派生出来,我用下面的方法进行后为什么程序编译都通不过?第一步:打开"文件"菜单,选中"新建";
第二步:选中"C/C++Header File",然后在"文件"一栏中输入文件名A,点"确定";
第三步:在重复第一步后,选中"C++Source File",然后在"文件"一栏中输入文件名A,点"确定";
第四步:在添加的A.H文件中写入:
                              class CA:public CObject
                              {
                               public:
                                 void show();
                              };第五步:在添加的A.CPP文件中写入: 
                               #include "stdafx.h"
                               #include "A.H"                               void CA::show()
                               {
                                  AfxMessageBox("FUCK!");
                               }第六步:在TESTView.cpp文件头中写入:#include "A.H"
第七步:在TESTView.cpp文件中的某个菜单事件处理方法中写入:
        
                                void CTESTView::OnOpen() 
                                {
                                 // TODO: Add your command handler code here
                                      CA ca;
                                  ca.show();
                                }
最后执行时有4个错误如下:
--------------------Configuration: TEST - Win32 Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
MainFrm.cpp
TEST.cpp
TESTDoc.cpp
TESTView.cpp
D:\PROGRAM FILES\VC++\TEST\TESTView.cpp(108) : error C2065: 'CA' : undeclared identifier
D:\PROGRAM FILES\VC++\TEST\TESTView.cpp(108) : error C2146: syntax error : missing ';' before identifier 'ca'
D:\PROGRAM FILES\VC++\TEST\TESTView.cpp(108) : error C2065: 'ca' : undeclared identifier
D:\PROGRAM FILES\VC++\TEST\TESTView.cpp(109) : error C2228: left of '.show' must have class/struct/union type
A.CPP
Generating Code...
Error executing cl.exe.TEST.exe - 4 error(s), 0 warning(s)请问大家这是怎么回事啊??本来我想用类向导来添加类的,但是好象不能把CObject直接作为基类,故用这种方法.

解决方案 »

  1.   

    那你找到文件TESTView.cpp
    在上面添加头文件#include "A.H"
      

  2.   

    你可以直接先建一个类,再类向导里面,然后选择基类为:CObject
    VC6.0里面没有,但是VS2003和2005有,VC6.0只能手动添加
      

  3.   

    D:\PROGRAM FILES\VC++\TEST\TESTView.cpp(108) : error C2065: 'CA' : undeclared identifier
    D:\PROGRAM FILES\VC++\TEST\TESTView.cpp(108) : error C2146: syntax error : missing ';' before identifier 'ca'1: Project/Add to project/Files...<a.h and a.cpp>
    2: Build/Rebuild All
      

  4.   

    Ctrl+W
    里面有个add class右上方
      

  5.   

    用向导也没可以啊,最后手动添加:public CObject不就好了?
      

  6.   

    直接 Add class,不要一个一个文件的添加.
      

  7.   

    如果我直接从类向导中添加的类CA的话,那CA类中将有很多其它的定义,比如消息映射这些,还要手动去清除,所以我想一个文件一个文件的添加。
      

  8.   

    为什么 用ClassWizard不能将CObject作为基类
      

  9.   

    如果我直接从类向导中添加的类CA的话,那CA类中将有很多其它的定义,比如消息映射这些,还要手动去清除,所以我想一个文件一个文件的添加。
    这样在VC6里面有些基类没有,例如:CObject\CDialogBar等,你自己要手动填加,比较麻烦~~
    VS2003里面就不会有这种问题了~~~
      

  10.   

    VC 生成代码中,
    各个类是相对独立的, 虽然彼此之间存在关系,
    但是类型是互相不认识的,
    新增加的类也是一样 ...所以,
    需要添加相应的头文件到你要是使用这个类的文件中 ......最后,请确认你的类是 CA ?  or  A ??
      

  11.   

    按CTRL+W,呼出Wizard,然后再添加可能就好啦,用代码添加,有时可能会出现问题.