![]() |
1
101
是的,Stutt可以从C++中继承类。 在C++中, 类和结构是相同的,除了它们的默认行为 关于成员的继承和访问级别。 C++类
C++结构
|
![]() |
2
37
在C++中
相当于:
和
相当于:
这意味着结构/类的成员 are by default public/private .
使用
等于
另一方面,这个
相当于:
是的,A
|
![]() |
3
7
结构和类之间的唯一区别是成员的默认访问级别(类为私有,结构为公共)。这意味着结构应该能够从类继承,反之亦然。 但是,通常在如何使用标准未授权的结构和类方面存在差异。结构通常用于纯数据(或没有多态性的对象,具体取决于您的项目偏好),而类则用于其他情况。我强调这只是一个风格上的差异,不需要。 |
![]() |
4
6
要理解的主要是结构来自C,而类是C++。这意味着尽管结构是第一类面向对象的公民,但它们也有一个遗留目的,这就是类被分离和结构是默认访问公共的原因。然而,一旦这样做了,他们是绝对和完全相同的,并在各个方面相互交换。 |
![]() |
5
5
结构与类是相同的,只是类默认其成员为private,而结构默认其成员为public。因此,是的,您可以在两者之间继承。见 in C++, can I derive a class from a struct . |
![]() |
6
4
结构和类几乎是可以互换的——只是在类中有不同的默认值,默认为私有继承,成员,结构为公共。类关键字(而不是结构)必须用于例如“template<class t>”。 也就是说,许多程序员使用这两种方法来给阅读代码的程序员一个小小的建议:通过使用一个结构,你巧妙地建议一种封装性较低的OO设计。结构可以在库内部使用——在库中,获取所有内容都是公平的游戏,而类在边界上使用,在边界上,API更改会给客户端带来不便,更好的抽象是有用的。这种非常松散的约定源于默认的可访问性的差异——懒惰/高效/简洁(任选)程序员做最简单的事情,除非有其他好处,如果可能,不输入访问说明符是很好的。 |
![]() |
7
4
是的
你从手册中引用的句子是关于C++中一个类的概念,与C++中的C.中的数据结构的概念相比,
|
![]() |
8
4
对。结构可以从类继承,反之亦然。可访问性规则是
编辑2: 因此,您可以将类更改为:。注意这是一个 坏的 通常有公共数据成员的想法。
|
![]() |
9
1
类不会从结构公开继承。结构将从类或结构公开继承。
B; b. A=5;//ok。A是可访问的
意思是一样的。 B; b. A=5;//ok。A是可访问的
B; b.a=5;//不正常。A无法访问
B; b. A=5;//ok。A是可访问的 最后:
B; b.a=5;//不正常。A无法访问
B; b.a=5;//不正常。A无法访问 |
![]() |
Brendan · Java中从父类继承的对象的ArrayList 2 年前 |
![]() |
Tali · 继承-您应该使用基类,还是它们只是子类的框架? 2 年前 |
![]() |
mask2 · 如何轻松访问继承类的功能? 2 年前 |
![]() |
Dimon · 父类中的Setter,以及一些没有参数的子类 2 年前 |
![]() |
Miguerurso · Javascript类继承无法正常工作 2 年前 |
![]() |
GuessMe · 返回新类对象的正确方法(也可以扩展) 2 年前 |
![]() |
Daniel Lizik · 重写父类构造函数的子类成员初始值设定项 2 年前 |
![]() |
i_know_what · 以基类作为参数重写错误的方法 2 年前 |