小弟想定义一个结构体,但不知道在哪定义,麻烦大家说一下,小弟是个新手,不懂
,有人说在.h文件中定义,但是我定义了却显示出一个类了!!
还有,怎么给回答问题的人送分啊!!急急~

解决方案 »

  1.   

    呵呵,在h中定义没有错
    typedef struct{
    int a;
    char b;
    }MyStruct;
    至于给分,点击上面的管理进去就可以看到了
      

  2.   

    1、在H文件和CPP都行,一般在H文件,容易被包含;
    2、接贴在本页右上的 管理 链接里
      

  3.   

    我都是在.h里定义啊,经过我试了半天没发现在VC里类和结构体有任何区别。
      

  4.   

    wy2001wy(小鱼儿) ( ) 信誉:100    Blog   加为好友  2007-5-17 13:38:30  得分: 0  
     
     
       
    我都是在.h里定义啊,经过我试了半天没发现在VC里类和结构体有任何区别。---------------------------------------------------------------------结构体和类如何解释取决于编译器,vc是按照c++语法解释的所以你在vc环境下是看不出来区别的。
      

  5.   

    如果是自己定义的简单数据结构,那就和和标准的CONSOLE编程差不多的(.H里声明类(结构),.CPP里定义实现)
    举个例子:
    你建立了一个基于对话框的MFC工程
    你就直接把
    typedef struct k{
        int a;
        ...
    }MyS,*pMys;
    写到C...Dlg.h里的适当地方就可以了(我是写在C...Dlg类声明的前面以便下面可以声明用这个类型的变量)
    这样够不够明白啊?
      

  6.   

    呵呵,在h中定义没有错
    typedef struct{
    int a;
    char b;
    }MyStruct;
    至于给分,点击上面的管理进去就可以看到了
      

  7.   

    一般仅供某一个类使用的结构体只需要在对应类中的.h头文件中定义就可以了.
    如果结构体要供多个类引用,最好的方法就是另编写一头文件如MyStruct.h,注意要加入宏定义,避免重复包含
    在工程的stdafx.h中加入下面一地
    #include "MyStruct.h"就要以在工程中任何类中使用此文件中定义的全部结构体或枚举了#if !defined(MYSTRUCT__INCLUDED_)
    #define MYSTRUCT__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000struct MyStruct1
    {
       INT....
       CString....
    }MYSTRUCT;........#endif
      

  8.   

    结构体里的方法和属性默认是public的而类中的方法和属性默认是private的.
    其他貌似没沙区别.