在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; }
};
枚举类型(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() {}
};
标签:自定义,成员,float,数据类型,C++,class,类型,public
From: https://blog.csdn.net/MATLAB_xiaobai2/article/details/137021813