【C++】类与对象基础

C++中最重要的就是类与对象了:

 类就相似于c语言中的结构体,但类的意思是现实世界里一类事物的统称,相当于数据库里的实体。类分为数据(成员变量)和程序(成员函数)。

   数据相当于实体具有的属性,对象是实体的一个实例相当于数据库的元组。

    类的三大特性:封装,继承,多态。类有三种访问限定符:public(公有) protect(保护) private(私有)体现了类的封装性。

类的四个默认成员函数:构造函数,拷贝构造函数,析构函数,运算符重载函数。

#include <iostream>
using namespace std;

class Date  //定义一个日期类
{
public:
	void Display()//打印日期
	{
		cout << _year << "." << _month << "." << _day << endl;
	}
	Date(int year = 1900, int month = 1, int day = 1)//1.构造函数
		:_year(year)     //初始化列表
		,_month(month)
		,_day(day)
	{
		cout << "InitDate->" << endl;
		_year = year;
		_month = month;
		_day = day;
	}
	Date(Date& d) //2.拷贝构造函数
	{
		cout << "CopyDate->" << endl;
		_year = d._year;
		_month = d._month;
		_day = d._day;
	}
	~Date() //3.析构函数
	{
		cout << "FreeDate<->" << endl;
	}
// 4.运算符的重载函数
	bool operator==(const Date& d) //等于运算符的重载
	{
		return _year == d._year
			&& _month == d._month
			&& _day == d._day;
	}
	Date& operator=(const Date& d) //赋值运算符的重载
	{
		if (this != &d)
		{
			_year = d._year;
			_month = d._month;
			_day = d._day;
		}
		return *this;
	}
private:
	int _year;
	int _month;
	int _day;
};
//类的实例化 对象 
int main()
{
	Date d1(2017, 1, 1);//构造函数 初始化
	Date d2;
	d2 = d1;
	cout << (d1 == d2) << endl;
	Date().Display();//匿名对象,生命周期为一行
	return 0;
}


 

猜你喜欢

转载自blog.csdn.net/qq_32672481/article/details/73800564