什么时候应该在C ++中使用类与结构?

除了一些差异外,结构和类在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访问。

类和结构之间的另一个区别在继承期间很明显。继承类时,默认情况下,基类的访问说明符为私有。比较而言,在继承结构时,默认情况下基本结构的访问说明符是公共的。