struct与class基础
在C中,struct是用来定义自定义类型的,通过基本数据类型组合成一种新的抽象数据类型,其只能定义成员变量而不能定义函数。而C++中的struct有较大的变化,C++极大地扩充了struct的含义,C++中的struct可以定义函数,可以定义构造函数、析构函数,可以继承,C++中的struct和class基本可以混用(除泛型编程替代typename),除此之外两者唯一的区别就是默认的访问控制权限和默认的继承权限不同。
在C++中,struct默认的访问权限和继承权限是public,而class是private。而且struct可以继承于class,而默认的继承权限取决于子类是struct还是class。
strcut与class实验
在C++环境下,有如下代码:
1 | struct S1 |