C++中用户自定义数据类型

在C++中,用户自定义数据类型通常指的是通过struct、class、enum和typedef关键字定义的类型。这些自定义类型可以包含各种成员,包括基本数据类型、其他自定义类型、成员函数(对于class)、访问修饰符等。下面是这些自定义数据类型可以包含的组件的概述:

结构体(struct)

结构体是一种用户定义的数据类型,它可以包含多个不同类型的成员。结构体默认的所有成员都是公共(public)访问权限的,但在C++11及以后的版本中,可以使用访问修饰符来改变默认行为。

struct Point {
    float x;
    float y;
    // 构造函数
    Point(float x = 0.0f, float y = 0.0f) : x(x), y(y) {}
};

类(class)

类是C++中的核心概念,它允许定义更复杂的数据类型,可以包含数据成员(属性)和成员函数(方法)。类可以有继承、多态和封装的特性。

class Circle {
private:
    float radius;
    Point center;

public:
    // 构造函数
    Circle(float r, float x, float y) : radius(r), center(x, y) {}

    // 成员函数
    float area() const { return 3.14159f * radius * radius; }
};

struct 默认权限为公共
class 默认权限为私有

枚举类型(enum)

枚举类型是一种包含一组命名的整数常量的用户定义类型。枚举类型可以提高代码的可读性和维护性。

enum Color {
    RED,
    GREEN,
    BLUE
};

类型定义(typedef)

typedef关键字用于为现有类型创建一个新的名称。这可以使类型名称更简短或更具描述性。

typedef unsigned long ulong;

模板类型

模板是C++中的一种强大机制,它允许定义泛型类和函数,可以处理不同类型的数据。

template <typename T>
class Vector {
    T x, y;

public:
    Vector(T xVal, T yVal) : x(xVal), y(yVal) {}
    // ...
};

成员函数

在class中,可以定义成员函数来执行操作或访问数据成员。成员函数可以有访问修饰符来控制其可见性。

class MyClass {
public:
    void myFunction() {
        // 函数体
    }
};

访问修饰符

class和struct可以使用public、protected和private访问修饰符来控制成员的访问级别。

继承

类可以继承另一个类的属性和方法,这允许代码重用和多态性。

class Base {
public:
    void baseFunction() {}
};

class Derived : public Base {
public:
    void derivedFunction() {}
};
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值