C++和C#中的class和struct区别
来源:互联网 发布:php求和字符串函数 编辑:程序博客网 时间:2024/05/20 08:28
今天无意中看到两年前自己总结的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。
这里只简要总结一下,不再详细展开说明了。
0 1
- C++和C#中的class和struct区别
- C#中struct和C中的struct的一个区别
- struct和class 在C/C++/C#
- C++和C中的struct和class
- c 和 c++中的 struct 和 class
- c#中struct和class的区别
- c#中struct和class的区别
- c#中struct和class的区别
- C#中struct和class的区别
- C#中Struct和Class区别
- C#中struct和class的区别
- c# struct和class的区别
- c#中class和struct区别
- c#中class和struct的区别
- c#中struct和class的区别
- C#中struct和class的区别
- C#详解struct和class的区别
- C# Struct和Class的区别
- HDU1673 Optimal Parking
- [cocos2dx 3.0 (四)] CocoStudio生成Json文件 + 使用rapidjson获取Json数据
- 黑马程序员日记二线程 synchronized
- 任务切换
- 【LeetCode】Search Insert Position
- C++和C#中的class和struct区别
- [C++] [算法] [Linux] radix tree
- 在Linux下不重启让配置文件修改后立即生效
- 双向链表的操作
- 微信小观
- Gray码在异步FIFO中的应用
- 多进程间通信方式和多线程同步机制总结
- poj里java的一些常用的语法(转自博客http://www.blogjava.net/DreamAngel/archive/2009/10/18/298731.html)
- HDOJ 1011 Starship Troopers(树形DP)