C和C++结构struct之间的区别

在C++中,struct和class完全相同,除了struct默认为public和class默认为privacy

C和C++结构之间的一些重要区别:

  1. 结构内部的成员函数:C中结构内部不能有成员函数,C++可以
  2. C结构中不能直接初始化成员,C++中可以
  3. C++中声明结构变量时,不一定需要在前面加上struct关键字
  4. C结构不能具有静态成员,C++可以
  5. C结构中体中不能创建构造函数,C++可以,如下面代码:
#include  
using namespace std;
struct Student { 
    int roll; 
    Student(int x) 
    { 
        roll = x; 
    } 
}; 
  
int main() 
{ 
    struct Student s(2); 
    cout << s.roll; 
    return 0; 
} 
  1. C中的空结构生成0,而C++中的空结构生成1.
  2. C结构不允许数据隐藏,C++可以,因为C++是面向对象的语言
  3. C结构没有访问修饰符,C++结构可以

相关文章:C++中的结构与类

你可能感兴趣的:(C++,c++)