📅  最后修改于: 2023-12-03 15:29:54.621000             🧑  作者: Mango
C++中的类、结构和联合都是用来封装数据和行为的方式。它们都可以包含各种类型的数据成员,方法和操作符。下面将分别介绍它们的特点。
类是一种复杂数据类型,可以包含一个或多个数据成员,方法和操作符。它们通常被用于构建对象,通过扩展方法实现对象的特定功能。C++中的类具有封装性,继承性和多态性。
在类中数据成员和操作符是默认为私有的,而方法和构造函数则可以是公有或私有的。类之间可以通过继承关系实现数据和行为的共享和扩展。类中的多态性使得程序员可以使用多个衍生类对象来代替基类对象。
下面是一个简单类的例子:
class Person{
private:
string name;
int age;
public:
Person(string name, int age){
this->name = name;
this->age = age;
}
void show(){
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
上面的例子中,Person
类包括两个私有数据成员name
和age
,以及一个公有方法show
,用于打印姓名和年龄。
结构和类非常相似,它也可以包含一个或多个数据成员,方法和操作符。不同之处在于,在结构中默认情况下,数据成员和操作符是公有的,而方法默认是私有的。结构通常用于表示一组相关的数据,而不涉及到具体的操作。
下面是一个简单结构的例子:
struct Point{
int x;
int y;
};
上面的例子中,Point
结构包括两个公有数据成员x
和y
,用于表示二维平面上的点坐标。
联合也是一种数据类型,类似于结构体。它可以包含一个或多个成员,不同之处在于在任何时刻只有一个成员处于活动状态。联合一般用于节省内存,例如,可以用联合来表示一个变量可能具有的多种数据类型。
下面是一个简单联合的例子:
union Number{
int i;
float f;
};
上面的例子中,Number
联合包含两个成员i
和f
。当一个成员被激活时,另一个成员的值将被清零。
类、结构和联合都是C++中的重要数据类型。它们之间有许多相似之处,但也有很多不同之处。应根据具体情况和需求选择最适合的数据类型。