除了一些差异外,结构和类在C ++中非常相似。因此,下面提供了有关这些差异的详细信息,这些信息有助于决定何时在C ++中使用类或结构。
默认情况下,类的所有成员都是私有的。与结构相比,这是不同的,因为默认情况下结构的所有成员都是公共的。
演示C ++类的程序如下-
#include <iostream> using namespace std; class Example { int val; }; int main() { Example obj; obj.val = 20; return 0; }
该程序导致错误,因为默认情况下val是私有的,因此无法使用obj直接访问。
给出了一个演示C ++结构的程序,如下所示-
#include <iostream> using namespace std; struct Example { int val; }; int main() { Example obj; obj.val = 20; cout<<"Value is: "<<obj.val; return 0; }
输出结果
上面程序的输出如下-
Value is: 20
上面的程序可以正常工作,因为默认情况下val是公共的,因此可以直接使用obj访问。
类和结构之间的另一个区别在继承期间很明显。继承类时,默认情况下,基类的访问说明符为私有。比较而言,在继承结构时,默认情况下基本结构的访问说明符是公共的。