C++中 结构体和类的 唯一的区别,就是默认的访问控制权限不同:
- 类中成员的默认访问权限:private
- 结构体中成员的默认访问权限:public
==面试题==
1、C++中 类 和 结构体的区别
默认访问权限不同
2、C++中 什么时候使用 类 什么时候使用结构体
一般情况下,定义数据节点的时候,都使用结构体,如链表的节点。而逻辑操作比较多的时候,一般都是用类。如果分不清,就都是用 class。
在 C++ 中,结构体与类几乎没有区别(除了默认的访问权限外,结构体默认是 public
的),可以包含数据成员和成员函数。这使得 C++ 的结构体功能大大增强,能够支持面向对象编程。
示例
#include <iostream>
using namespace std;
typedef struct A
{
int val_1;
int val_2;
int add()
{
return val_1+val_2;
}
}A;
class B
{
public:
int val_1;
int val_2;
int add()
{
return val_1+val_2;
}
};
int main(int argc, char const *argv[])
{
A a;
B b;
a.val_1=10;
a.val_2=20;
cout << a.add() << endl;
b.val_1=10;
b.val_2=40;
cout << b.add() << endl;
return 0;
}
//面试
/*
问:C++中结构体和类有什么区别
答:区别就是权限问题
结构体为公共权限
类为保护权限
问:那 什么时候用 类 什么时候用结构体
一般情况下,定义数据节点的时候,都使用结构体,如链表的节点
而逻辑操作比较多的时候,一般是用类。
如果分不清,就都是用class。
*/