程序员认为面试是求职过程中最重要的环节之一
发布时间
阅读量:
阅读量
1、C++里的class和struct有什么区别?
在C++编程语言中,struct与class均可用于类型定义,二者之间最核心的差异体现在默认的访问控制机制上,具体表现为两个层面的不同,其区别如下:
(1)关于默认访问类型
在未明确指定成员函数或成员变量的访问权限时,struct 中的默认访问级别为 public ,而 class 中的默认访问级别为 private 。
举例说明:
struct A
{
char a;
};
struct B : A
{
char b;
};
此时,B 对 A 的继承方式为 public 继承。若将上述 struct 均替换为 class,则 B 对 A 的继承方式将变为 private 继承。这正是 默认 的继承访问权限机制。因此,在日常编写类继承代码时,通常会采用如下写法:
struct B : public A
其目的在于明确声明为 public 继承,而非依赖于默认的 private 继承。当然,具体默认的继承方式是由子类决定的,而非基类。无论是 struct 还是 class 都可以相互继承,默认的访问权限取决于子类所使用的类型是 struct 还是 class。
例如:
struct A{};
class B : A{}; //private继
全部评论 (0)
还没有任何评论哟~
