之前在本科的C++学习中,只记得对类进行定义和成员的调用,由于没有具体实践,大作业也很水,对构造函数欠缺理解,接下来就来学习构造函数。
构造函数的作用
首先来看构造函数的作用。类的结构类似于结构体,对于结构体是可以直接进行初始化的,比如:
struct Date
{
int year;
int month;
int day;
};
Date test = {
2017,7,12};
而对于类,一般是不可以直接初始化的,其原因在于,类中可能有私有成员。也就是说,当所有成员变量都是公有的,那OK,直接初始化是可以的;而如果存在私有成员,则无法直接初始化。因此出现了构造函数。
简单的来说,构造函数就是为了解决类的初始化问题,在使用类声明对象时,会自动调用构造函数进行初始化。
构造函数的定义
构造函数是类中的一个成员函数,与类同名。以下面代码为例,看下构造函数的定义。
class TComMv
{
private:
Short m_iHor; ///< horizontal component of motion vector
Short m_