打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C++和C#中的class和struct区别

    今天无意中看到两年前自己总结的C++和C#中class和struct的比较。

    在C++中,class和struct区别很小。首先,C++中的struct保留有C语言中的struct的功能,但它又与C语言中的struct有很大区别。C++中的struct可以像class那样,允许有成员函数,允许继承。在C++中,class和struct只有两点区别。

1.class成员变量和成员函数默认为private,而struct中成员默认为public。

2.class默认为private继承,struct默认为public继承。

    除这两点之外,C++中的class和struct完全一样。不过,为了理解方便,最好将C++中的struct只当C语言的struct来用。

    C#中,class和struct区别很大。我总结有以下几点:

1.class是引用类型,而struct是值类型。引用类型使用的是堆内存,也就是动态内存,值类型使用的是栈内存。但为了保持外观的一致,C#让class和struct在使用时,都要用new来生成对象,形如:Typename a=new Typename ()

2.class允许定义无参的构造函数,struct不允许。

3.C#中有专门的interface标识来定义接口,class允许实现接口(类似继承),而且允许实现多个接口,struct不允许实现接口。当然,C#不允许class继承多个class。

    这里只简要总结一下,不再详细展开说明了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言 union
[你必须知道的.NET] 第四回:后来居上:class和struct
dotNET面试题汇总系列连载(2):面向对象
详解C结构体、C++结构体 和 C++类的区别
类(class)与结构(struct)的区别
2010年.NET面试题基础篇总结系列二
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服