所以我正在寻找关于结构与类差异的问题......而我没有得到一件事 - 我们可以定义一个类型结构吗?像tiped课...如果是的话,请提供一些样品。我们可以在类型上定义一个结构吗?
回答
如果你的意思是,你可以像使用类一样使用结构吗?答案是肯定的。在C++中唯一的区别是可见性的默认值。一个班级的成员默认为私人;结构的成员默认为公共。如果你创建一个类并且让所有成员都公开,那么它和结构几乎一样。我知道编译器会因结构是否可以从类继承而异,反之亦然。
坦率地说,我认为struct存在于C++中,主要是为了向上兼容C,或者换句话说,类只存在,因为这是同一个想法的新名称。
回复:“我知道编译器会因结构是否可以继承上课,反之亦然“ - 他们当然不应该。除了默认的可访问性,类和结构是相同的,可以互换使用。 – 2011-05-09 14:11:54
但大多数程序员仍然使用'struct'作为POD,'class'作为OO /数据隐藏的东西。与编译器的POV差别不大,但对代码的读者来说是一个强烈的暗示。 – 2011-05-09 14:14:28
从技术上讲,struct不存在;关键字'struct'和关键字'class'都定义了一个类的类型。实际上,程序员根据本地编码约定使用一个或另一个关键字。 – 2011-05-09 14:26:48
- 1. 我们可以在excel-vba中定义一个可以有多个预定义值的数据类型吗?
- 2. 我们可以有一个泛型的类类型吗?
- 3. 我可以在自定义类型中放置一个CollaborativeString吗?
- 4. 我可以在F#中的类中定义结构吗?
- 5. 我可以定义一个键是结构的地图吗?
- 6. 我可以在Scala 2.8中命名一个元组(定义一个结构?)吗?
- 7. 我们可以在opencl中使用结构体的结构吗?
- 8. 我们可以把这样的结构变成类型化的类/函数吗?
- 9. 我可以创建自定义plist结构定义吗?
- 10. 在结构本身之前可以定义一个结构成员(函数)吗?
- 11. 我们可以调用一个类的构造函数吗?
- 12. C++:我们可以收集类型吗?
- 13. 我们可以在C++的主函数之后定义结构吗?
- 14. 我们可以创建一个泛型类的数组吗?
- 15. 我们可以得到一个lambda参数的类型吗?
- 16. 我们必须malloc一个结构吗?
- 17. 我们可以在构造函数中定义静态类成员吗?
- 18. 我们可以开发一个自定义的UITababar吗?
- 19. 我们可以定义一个私人IBOutlet吗?
- 20. 我们可以定义一个通用的xhtmlatex6吗?
- 21. 去和另一个结构中的自定义结构类型
- 22. 我可以为一个类的方法定义一个泛型typescript接口吗?
- 23. 我可以用Timespan类型在TimeSpan上做一个Foreach吗?
- 24. 我们可以在GDB会话中定义新的数据类型吗
- 25. 我可以在Scala类中定义一个无名方法吗?
- 26. 我们可以在struts-2中设置两个结果类型吗?
- 27. 我们可以通过URL传递整个结构吗?
- 28. 同一类中定义的两个结构体可以互相访问吗?
- 29. 我们可以指定一个unsigned int类型varaible,0xFULL文字
- 30. 我们可以在类中定义的redux Action Creators上使用bindActionCreators()吗?
就我所知,类和结构*都是*类型...你能澄清* typed class *的含义吗?你会不会提到模板? – 2011-05-09 14:02:28
“定义结构类型”是什么意思?如果你可以举一个例子,“倾斜课堂”可能更容易回答。 PS。我没有投票。 – juanchopanza 2011-05-09 14:04:16
至于“struc vs class difference”,可能最简洁的定义来自Stroustrup先生自己:“结构 - 类成员默认为公共成员”。 – Damon 2011-05-09 14:09:07