遗产继承纠纷 请教c 中struct和class继承的问题?
请教c 中struct和class继承的问题?
1. 默认继承访问。结构是公共的,类是私有的。例如,下面的代码:struct a{char a};struct B:a{char B};此时,B通过public从a继承。如果上面的结构更改为class,那么B将通过private从a继承。这是默认的继承访问。因此,在编写类继承时,我们通常编写:struct B:public a来表示它是公共继承,而不是默认的私有继承。当然,公共继承还是私有继承是默认继承取决于子类而不是基类。我的意思是,struct可以继承class,class也可以继承struct,所以默认的继承访问权限取决于子类是使用struct还是class。如下所示:结构a{};类B:a{}//私有继承结构C:B{};//公共继承
2。Struct作为数据结构的实现体,其默认数据访问控制为public,class作为对象的实现体,其默认成员变量访问控制为private。
3. 关键字“class”也用于定义模板参数,如“typename”。但是关键字“struct”不用于定义模板参数。
class和struct的区别?
类和结构之间的差异:
1。类是引用类型,结构是值类型;
2。类可以继承类,接口可以继承,结构只能继承接口,不能继承;
3。类有默认的无参数构造函数,析构函数,struct没有默认的无参数构造函数,并且只能声明无参数构造函数,没有析构函数;
4。Cla Ss可以使用抽象和密封,有保护修饰符,结构不能使用抽象和密封,没有保护修饰符;
5。类必须用new初始化,结构不能用new初始化;
6。垃圾回收机制保证了类实例的内存恢复,struct变量的内存分配在使用后会立即自动释放;
7看,类代表行为,struct通常用来存储数据;
8。当它作为参数传递时,类变量按地址传递,而结构变量按值传递。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。