📅  最后修改于: 2023-12-03 15:21:38.153000             🧑  作者: Mango
在C++中,我们可以通过类、结构体、联合体等方式来定义自己的数据类型。
类是C++中一种自定义数据类型。它可以包含数据成员和函数成员。我们可以使用类来表示一个对象。
下面是一个类的示例:
class Person
{
public:
// Setters
void setName(std::string name) { m_name = name; }
void setAge(int age) { m_age = age; }
// Getters
std::string getName() const { return m_name; }
int getAge() const { return m_age; }
private:
std::string m_name;
int m_age;
};
我们可以使用这个类来创建一个人对象并对其进行操作:
Person p;
p.setName("John");
p.setAge(30);
std::cout << p.getName() << " is " << p.getAge() << " years old." << std::endl;
输出结果:
John is 30 years old.
结构体与类非常相似,也可以包含数据成员和函数成员。但是,结构体成员默认是公共的,而类成员默认是私有的。
下面是一个结构体的示例:
struct Point
{
double x;
double y;
};
我们可以使用这个结构体来表示一个点对象:
Point p = { 1.0, 2.0 };
std::cout << "Point (" << p.x << ", " << p.y << ")" << std::endl;
输出结果:
Point (1, 2)
联合体是一种可以存储多种数据类型的数据结构。它的所有成员将占用同一段内存。
下面是一个联合体的示例:
union Data
{
int i;
float f;
char str[10];
};
我们可以使用这个联合体来表示一个数据对象:
Data d;
d.i = 10;
std::cout << "d.i = " << d.i << std::endl;
d.f = 3.14;
std::cout << "d.f = " << d.f << std::endl;
strcpy(d.str, "Hello");
std::cout << "d.str = " << d.str << std::endl;
输出结果:
d.i = 10
d.f = 3.1400001049
d.str = Hello
C++提供了多种自定义数据类型的方式,包括类、结构体和联合体。我们可以根据实际需求选择合适的方式。