在C++中,类是一种自定义数据类型,它可以包含数据成员和成员函数,这些成员函数可以操作该类的数据成员。
类的结构和结构体非常相似,但是有几个重要的区别:
- 类可以包含成员函数,结构体不能。
- 类的成员默认是私有的,结构体的成员默认是公共的。
- 类可以继承其他类,结构体不能。
以下是一个简单的类和结构体示例,展示了它们之间的区别:
// Class example
class Person {
private:
std::string name;
int age;
public:
Person(std::string n, int a) : name(n), age(a) {}
void print() {
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
};
// Struct example
struct PersonStruct {
std::string name;
int age;
};
int main() {
// Class example
Person p("John", 32);
p.print();
// Struct example
PersonStruct ps = {"John", 32};
std::cout << "Name: " << ps.name << ", Age: " << ps.age << std::endl;
return 0;
}
在上面的示例中,类“Person”包含两个私有数据成员“name”和“age”,以及一个公共成员函数“print”。该类还有一个构造函数,用于初始化数据成员。在主函数中,我们创建了一个“Person”类的对象“p”,并调用其“print”函数。
相反,结构体“PersonStruct”仅包含两个公共数据成员“name”和“age”,没有成员函数。我们创建了一个结构体变量“ps”,并在主函数中打印其数据成员。