一、基本概念
在C++中,类是一种用户自定义的数据类型,用于封装数据和相关的操作。类定义了对象的结构和行为,它是面向对象编程的核心概念之一。
类由数据成员和成员函数组成。数据成员是类的属性,用于存储对象的状态和数据。成员函数是类的行为,用于操作和访问类的数据成员。
对象是类的实例,它具有类定义的属性和行为。通过创建对象,我们可以访问和操作类的成员。
1.在c++中 常用Class来定义类
类里面可以包含很多内容,比如成员变量,成员函数。
下面定义一个关于年月日的类
class Date {
public:
Date(int year = 1, int month = 1, int day = 1);
int GetMonthDay(int month,int year) const
{
static int Days[13] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
if (((year % 4 == 0 && year % 100 != 0 )|| (year % 400 == 0)) && month == 2)
{
return 29;
}
return Days[month];
}
private:
int _day;
int _month;
int _year;
};
2.访问控制符
注意到,Class Date中有两个函数将整个类分成了两个部分
他们分别是 public、private,他们是用于控制访问权限的访问控制符。事实上,c++中有三个常见的访问控制符private
、protected
和public
。
private
用于指定类的成员只能在类的内部访问(即只能在类的成员函数中使用)。私有成员对于类的外部是不可见的,外部用户无法直接访问或修改私有成员。私有成员通常用于封装类的实现细节,以确保数据的安全性和合法性。这和它作为英文单词”私有的“的含义相符。
public
用于指定类的成员可以在类的外部访问。公有成员对于类的外部是可见的,外部用户可以直接访问和修改公有成员。公有成员通常用于提供类的接口,允许外部用户与类进行交互。
私有成员可以隐藏类的内部实现细节,只向外部提供有限的接口。公有成员可以暴露类的功能和数据,使外部用户能够与类进行交互。
3.简单分析
- 公有构造函数
Date
用于初始化日期对象。它接受三个可选参数:年份year
、月份month
和日期day
,默认值分别为1年1月1日。这样可以通过提供不同的参数来创建不同的日期对象。 - 公有成员函数
GetMonthDay
用于获取指定月份的天数。它接受两个参数:month
表示月份,year
表示年份。根据给定的月份和年份,该函数会考虑闰年的情况(通过判断闰年的条件),然后返回对应月份的天数。对于闰年的2月,返回的天数为29,其他月份则返回预定义的天数。
如果想实现诸如天数的比较大小、日期的加减等更多功能,可以在头文件的Class Date类中增添成员函数以实现想要达到的目标。
下一篇将会涉及构造、析构等类中的细节