c中的结构体和c++中结构体异同
时间: 2024-03-24 15:32:49 浏览: 82
C与C++中结构体的区别
C中的结构体和C++中的结构体有以下异同点:
1. 相同之处:结构体都是一种自定义的数据类型,可以包含多个不同类型的成员变量。
2. 不同之处:
(1)C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。
(2)C++中的结构体和类的区别不大,结构体中可以包含函数;也可以定义构造函数、析构函数、静态成员变量和静态成员函数等,而C中的结构体没有这些特性。
(3)C结构体没有继承关系,而C++结构体可以从类或者其他结构体继承而来。
(4)C结构体不能在结构体中初始化成员变量,而C++结构体可以。
下面是一个C++中的结构体的例子:
```cpp
#include <iostream>
using namespace std;
struct Person {
string name;
int age;
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
int main() {
Person p;
p.name = "Tom";
p.age = 20;
p.display();
return 0;
}
```
阅读全文