在vc中写程序,十分不明白的一点是:
有了类这个玩意儿,为什么还要用到结构体感觉十分不伦不类的样子
有大虾能解释下么

解决方案 »

  1.   

    class的成员默认私有,
    struct成员默认公开。
    除此之外无区别。
      

  2.   

    WINDOWS系统设计的时候,C++还没有标准, SDK里的C结构是历史留下来的.=======================================================
    FreeLaxy, your backup.
    =======================================================
      

  3.   

    C++兼容C语言,且具备C语言的性能。
      

  4.   

    结构体是C发展而来的东西,C++兼容C中的结构体
    --------------------------
    我们现在之所以还使用结构体,我是这么理解的:
    (1)结构体更侧重于数据体,而类主要侧重于方法,所以如果是包含数据变量定义的,我们就直接使用结构体,如果比较侧重于方法的实现,则使用类来实现;当然结构体重也是可以定义方法的。
    (2)结构体是一种特殊的类,我们可以像一样使用,也可以像类一样继承:结构体继承结构体,类继承结构体。
    (3)结构体和类的区别:
         class中默认的成员访问权限是private的,而struct中则是public的;  
         从class继承默认是private继承,而从struct继承默认是public继承。 
      

  5.   

    在C++中类与结构应该没有太大的区别的了,但是,C++要兼容C,所以它还得支持结构。
      

  6.   

    温习了个人的用法是结构体多用于数据,类多用于方法和操作。从习惯上看到一个结构体就知道这个是数据容器,而如果看到一个类,那么就知道需要关注这个类的方法函数以及实现的功能。而结构体就简单多了,关注其data就行了。其他同上几个朋友的说明了。
      

  7.   

    1. 在C语言中, 只有结构体的概念, 这个结构体,里面更是不能直接放函数,要用函数指针。
    2. 在C++里,结构体和类99%都是一样的,唯一不一样的,就是成员(变量、函数)作用域不一样。
        struct(结构体)里,默认情况下,所有的成员变量都是public的
        class(类)里,默认情况下,所有的成员变量都是private的
      

  8.   

    为什么结构体也可以用::
    某个struct a
    a::fun(){}
    这是什么道理呀,编译还出错,说a is not a class or namespace name