C++复习,类相关基础知识(1)

一、类的声明

1.类的数据成员可以是任何数据类型,但不能用自动(auto)、寄存器(register)或外部(extern)进行说明。

二、成员函数的定义

1.在类外定义成员函数,成员函数的声明再类内,参数表内可以不说明参数的名字,而只说明它们的类型。
2.第二中定义方式,将成员函数定义再类的内部,此为隐式定义,隐含的将其看作内联函数
3.使用inline,显式定义,再函数最前面加inline;

三、对象的定义及使用

1.声明一个类便声明了一种类型,它并不接收和储存具体的值,只作为生成具体对象的一种“样板”,定义了对象后,系统才为对象分配储存空间,以存放对象中的成员

四、构造函数

1.类是一种抽象的数据类型,它不占储存空间,不能容那具体数据、因此再类声明中不能给数据成员赋初值
class Complex{
	double real=0;//错误
};
2.构造函数:为对象分配空间,进行初始化。可以右任意类型的参数,但不能具有返回值类型
3.Complex *pa=new Complex(1.1,2.2);
使用new运算符动态建立对象,此时编译系统开辟了一段空间,空间中存放了一个Complex对象,这个是一个无名对象,但该对象有个地址,通过指针访问,例:pa->fun();

用成员函数初始化列表对数据进行初始化
1.Complex::Complex(double r,double i):real(r),image(i)
{//构造函数体}
comst修饰的数据成员,或者引用类型的数据成员,不允许赋值语句直接赋值,只能用成员初始化列表对其进行初始化
数据成员式按照它们在类中的声明顺序进行初始化,与在成员初始化列表中列出的顺序无关。

带默认参数的构造函数
1.若构造函数早类外定义,那么默认参数应该在类内声明构造函数原型时指定,不能再类外构造时指定,
2.如果构造函数的全部参数都指定了默认值,因为一个类只能有一个默认的构造函数,则不能再声明无参数的构造函数,也不能重载构造函数

五、析构函数

1.析构函数与类名相同,但前边加~,
2.析构函数不返回任何值,即不能说明函数类型
3.析构函数没有参数,因此析构函数不能被重载
4.撤销对象时,系统会自动调用析构函数
5.析构函数释放分配给对象的内存空间

析构函数调用
1.主函数结束,对象被撤销,析构函数被调用
2.如果一个对象被定义在一个函数体内,该函数被调用结束,对象释放,析构函数被自动调用
3.对象时new运算符动态创建,使用delete运算符释放时,自动调用析构函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

出云coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值