请问一下:c语言中的结构与c++中的类有哪些相同点与不同点??讲全面点,谢谢!

解决方案 »

  1.   

    1. c和类默认成员访问权限不同
    2. c编译器宣称的结构中不可以有代码实现,类可以其他还没想到。 c++中,这两者几乎没什么差别,除了第1点。 其他人继续。
      

  2.   

    在C++中,struct和class没有本质的区别,
    用struct就等于放弃了成员函数和访问权限。
    我好像见过struct也能带函数的,不过我没有试过。
    struct中所有成员都视为public的。
      

  3.   

    呵呵,struct也有构造函数呢,struct tagTest
    {
        int ndata;
        tagTest(int i){ndata = i};
    };
      

  4.   

    c中的struct
    和c++中的struct
    是不同的
      

  5.   

    C++中的结构体和类没有本质区别,只不过结构体的默认权限为public,类默认为private.
    换句话说,C++中结构体是一种特殊的类。
      

  6.   

    c 默认的数据成员或者函数是 public类型的
    C++ 默认的数据成员或者函数是 private 类型的
    c 中没有构造函数和析构函数
    c++中有
    c中的函数成员 不能重载
    C++中可以重载
    C语言中的函数成员 不能用虚函数实现多态
    C++中可以
      

  7.   

    俺也是个新手,不过可以说说俺的看法,大家不要见笑
    C里的结构好象只是主要作为一种数据的格式,来储存数据
    C++的类就太大了,个人觉得C++全都是类,类里包括数据,包括方法程序就是各个类组成的
    类还有一些特点:如封装性,派生与继承,这些都是结构没有的
    看了书你明白了,
    俺现在还经常抱着C++的基础教材看呢
    不知道什么时候才能变高手?哎。。期待ing.....................
      

  8.   

    to  xx_jj() :
    不要乱说。struct的虚方法我用过,继承、多态、模板特性我也用过。faller20002003() 说得对。和我观点一至。c++中struct=class。只不过成员默认是public权限。(自己可以设为private)
      

  9.   

    大家看清楚了,问的是C中的struct,怎么都拿着C++中的struct往上套。服了you!!!
      

  10.   

    都以一样的,只不过语法不太一样呀
    结构中可以放上函数指针,在结构体外面写指针函数体,函数参数中放上结构实力的指针,C++中的this指针其实就是这个结构指针,不同的是在x86系统中他使用ecx传递参数而不是堆栈,所以C++类其实就是结构+代码,要说继承同样可以用结构实现struct a
    {
    .....
    };
    struct b
    {
    a xxx;
    .....
    }
    上面意思就是b从a继承,要说那些什么访问规则只不过是编译器规定的能不能访问,在机械码那个层次没有限制