编程过程中出现的错误:
- 空指针异常:
使用时注意指针是否指向希望指向的地方;防止空指针异常;
例:CD案例中的错误:
void CDPlayer::insertCD(CD *cd) {
if (this->cdIn) {
cout << "已有CD,请先取出CD;" << endl;
}else{
cout <<"插入了"<< cd->getSonger() << "的CD....." << endl;
this->cdIn = true;
关键: this->cd = cd;
}
}
cd为CDPlay的指针变量,未初始化,起始指向null;
在此步后期进行使用;所以使用前应给其指向位置,否则会出现空指针异常;
函数默认参数:
class Date {
public:
/* 默认构造函数,以fullyear的形式给出年月日,默认值为1990年1月1日,同时设置
日期分隔符为“-” */
Date(int year = 1990, int month = 1, int day = 1);
}
Date::Date(int year, int month, int day) :year(year), month(month), day(day) {
separator = '-';
}
默认参数在声明时使用赋默认值,在函数定义(实现)时不需要指明;
声明中参数可以有默认值,但是函数实现(定义)的时候不能出现有默认值;