C++类和对象的基础介绍(1)

类的定义

C++类的关键字是class,学过c的朋友们可能会觉得和结构体struct有点像。

在C++中struct也可以定义类,但和class定义的有所区别。

我们还是推荐使用class。

类里面会有成员变量、成员函数的定义和声明、构造函数、拷贝构造函数、析构函数、运算符重载函数等等。。待会你就知道啦.

下面以日期类为例讲解类。

类的基本格式

class Date
{

};

class+类的名字+{},记得花括号之后要有英文的逗号。

类的内容就写在花括号里面。

类域(访问限定符)

类定义了一个新的作用域,

类的默认访问权限是私有的(private),

类外的函数无法访问类内的东西,

看下面这段代码

class Date
{
public:
	Date();//构造函数
	~Date();//析构函数

private:
	int _year;
	int _month;
	int _day;
};

把注意力放在public和private,这俩就是访问限定符。

有了public ,在类外就可以访问Date()和~Date().

有了private,只有在类内才能访问_year,_month,_day.

给大家看看private是如何限制类外访问的。。

如果把_year的声明放到public访问限定符之下,

编译器就不会报错了。。

类和对象

刚刚我们创建了Date类,

d1,d2,d3,都是Date类实例化的对象。

一个Date类实例化出3个对象d1,,d2,d3.

一个类可以有多个对象。

构造函数

构造函数的名字和类名一模一样,

我们定义对象时,什么参数都不传,

系统会帮我们生成无参的构造函数。

不传参数就可以调用的构造函数叫做默认构造,

以Date类为例,

以下三种构造函数都是默认构造函数。

这三种默认构造函数只能写一种。

当我们这样定义d1时,什么参数都没传,就会调用默认构造函数。。

当然我们还是建议定义时传参,就像下面这样:

析构函数

析构函数的主要用处在于,当你开辟了一块内存空间,用完了要记得释放。。

如:

class Date
{
public:
	int* _year;
	int* _month;
	Date()
	{
		_year = (int*)malloc(sizeof(12));//开空间
		_month = new int[4];//开空间
	}
	~Date()
	{
		free(_year);//释放空间
		_year = nullptr;
		delete[]_month;//释放空间
	}
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值