📜  为用户定义数据类型设置的C++(1)

📅  最后修改于: 2023-12-03 15:21:38.153000             🧑  作者: Mango

为用户定义数据类型设置的C++

在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++提供了多种自定义数据类型的方式,包括类、结构体和联合体。我们可以根据实际需求选择合适的方式。