类和对象的知识汇总

函数重载:

  • 参数类型不同
  • 参数个数不同

在类未定义之前,不能定义对象,因为不知道类类型的大小,无法预留准确的空间。但可以声明指向该类类型的指针或引用。

类的定义:

数据成员:

  • 除了静态 static 数据成员外,数据成员不能在类体中被显式地初始化
  • 类的成员可以是其他类的对象,称为类的组合。但不能以类自身的对象作为本类的成员。

成员函数:

利用构造函数创建对象:
类名 对象名[(实参表)];
类名 *指针变量 = new 类名[(实参表)];

**构造函数初始化成员有两种方法: **

  1. 使用构造函数的函数体进行初始化
  2. 使用构造函数的初始化列表进行初始化

格式:
funname(参数列表):初始化列表
{ 函数体,可以是空函数体 }

初始化列表的形式:
成员名1(形参名1),成员名2(形参名2),成员名n(形参名n)

class Date
{
	int d, m, y;
public:
	Date(int dd, int mm, int yy)d(dd),m(mm),y(yy)
		{	}

	Date(int dd, int mm): d(dd),m(mm)
		{	}
}

必须使用参数初始化列表对数据成员进行初始化的几种情况:
数据成员为常量
数据成员为引用类型
数据成员为没有无参构造函数的类的对象

析构函数:

析构函数自动调用(隐式调用)
析构函数没有返回值,不能有参数,也不能重载
定义格式如下(类外实现):

发布了84 篇原创文章 · 获赞 5 · 访问量 3569

猜你喜欢

转载自blog.csdn.net/qq_44824148/article/details/104806098