c++调试许多错,帮忙改下下
c++调试好多错,帮忙改下下
析构函数和构造函数的初始化列表有问题,我不知道怎么改,帮忙改下下吧,谢谢了。。。
#include <iostream>
using namespace std;
class Tdate{
private:
int yy,mm,dd;
public:
Tdate(int y=2006,int m=01,int d=01);
Tdate &setYear(int year);
Tdate &setMonth(int month);
Tdate *setDay(int day);
Tdate setDate(int y,int m,int d);
void display();
~Tdate();
};
Tdate::Tdate(int y,int m,int d):yy(y),mm(m){
dd=d;
}//构造函数
Tdate& Tdate::setYear(int year){
yy=year;
return *this;
}
Tdate& Tdate::setMonth(int month){
mm=month;
return *this;
}
Tdate* Tdate::setDay(int day){
dd=day;
return this;
}
Tdate Tdate::setDate(int y,int m,int d){
yy=y; mm=m; dd=d;
return *this;
}
void Tdate::display(){
cout<<"addres is: "<<this<<"\t"<<yy<<":"<<mm<<":"<<dd<<endl;
}
~Tdate(){
const int i;
i=1;
cout<<"destructor :"<<i<<endl;
i++;
}
void main(){
Tdate d1,d2; //L1
cout<<"d1 "; d1.display(); //L2
cout<<"d2 "; d2.display(); //L3
d1.setYear(2007).setMonth(03).setDay(30); //L4
cout<<"d1 "; d1.display(); //L5
d1.setDate(2000,01,10).setDay(30); //L6
cout<<"d1 "; d1.display(); //L7
Tdate *p; //L8
p=d1.setDay(21); //L9
cout<<" p "; //L10
p->display(); //L11
Tdate d3=d2.setYear(2006).setMonth(4); //L12
cout<<"d3 "; d3.display(); //L13
d1.setYear(2007).setMonth(03)=d3; //L14
cout<<"d1 "; d1.display(); //L15
}
------解决方案--------------------
#include <iostream>
using namespace std;
class Tdate{
private:
int yy,mm,dd;
public:
Tdate(int y=2006,int m=01,int d=01);
Tdate &setYear(int year);
Tdate &setMonth(int month);
Tdate *setDay(int day);
Tdate setDate(int y,int m,int d);
void display();
~Tdate();
};
Tdate::Tdate(int y,int m,int d):yy(y),mm(m){
dd=d;
}//构造函数
Tdate& Tdate::setYear(int year){
yy=year;
return *this;
}
Tdate& Tdate::setMonth(int month){
mm=month;
return *this;
}
Tdate* Tdate::setDay(int day){
dd=day;
return this;
}
Tdate Tdate::setDate(int y,int m,int d){
yy=y; mm=m; dd=d;
return *this;
}
void Tdate::display(){
cout<<"addres is: "<<this<<"\t"<<yy<<":"<<mm<<":"<<dd<<endl;
}
Tdate::~Tdate(){
int i = 1;
cout<<"destructor :"<<i<<endl;
i++;
}
void main(){
Tdate d1,d2; //L1
cout<<"d1 "; d1.display(); //L2
cout<<"d2 "; d2.display(); //L3
d1.setYear(2007).setMonth(03).setDay(30); //L4
cout<<"d1 "; d1.display(); //L5
d1.setDate(2000,01,10).setDay(30); //L6
cout<<"d1 "; d1.display(); //L7
Tdate *p; //L8
p=d1.setDay(21); //L9
cout<<" p "; //L10
p->display(); //L11
Tdate d3=d2.setYear(2006).setMonth(4); //L12
析构函数和构造函数的初始化列表有问题,我不知道怎么改,帮忙改下下吧,谢谢了。。。
#include <iostream>
using namespace std;
class Tdate{
private:
int yy,mm,dd;
public:
Tdate(int y=2006,int m=01,int d=01);
Tdate &setYear(int year);
Tdate &setMonth(int month);
Tdate *setDay(int day);
Tdate setDate(int y,int m,int d);
void display();
~Tdate();
};
Tdate::Tdate(int y,int m,int d):yy(y),mm(m){
dd=d;
}//构造函数
Tdate& Tdate::setYear(int year){
yy=year;
return *this;
}
Tdate& Tdate::setMonth(int month){
mm=month;
return *this;
}
Tdate* Tdate::setDay(int day){
dd=day;
return this;
}
Tdate Tdate::setDate(int y,int m,int d){
yy=y; mm=m; dd=d;
return *this;
}
void Tdate::display(){
cout<<"addres is: "<<this<<"\t"<<yy<<":"<<mm<<":"<<dd<<endl;
}
~Tdate(){
const int i;
i=1;
cout<<"destructor :"<<i<<endl;
i++;
}
void main(){
Tdate d1,d2; //L1
cout<<"d1 "; d1.display(); //L2
cout<<"d2 "; d2.display(); //L3
d1.setYear(2007).setMonth(03).setDay(30); //L4
cout<<"d1 "; d1.display(); //L5
d1.setDate(2000,01,10).setDay(30); //L6
cout<<"d1 "; d1.display(); //L7
Tdate *p; //L8
p=d1.setDay(21); //L9
cout<<" p "; //L10
p->display(); //L11
Tdate d3=d2.setYear(2006).setMonth(4); //L12
cout<<"d3 "; d3.display(); //L13
d1.setYear(2007).setMonth(03)=d3; //L14
cout<<"d1 "; d1.display(); //L15
}
------解决方案--------------------
#include <iostream>
using namespace std;
class Tdate{
private:
int yy,mm,dd;
public:
Tdate(int y=2006,int m=01,int d=01);
Tdate &setYear(int year);
Tdate &setMonth(int month);
Tdate *setDay(int day);
Tdate setDate(int y,int m,int d);
void display();
~Tdate();
};
Tdate::Tdate(int y,int m,int d):yy(y),mm(m){
dd=d;
}//构造函数
Tdate& Tdate::setYear(int year){
yy=year;
return *this;
}
Tdate& Tdate::setMonth(int month){
mm=month;
return *this;
}
Tdate* Tdate::setDay(int day){
dd=day;
return this;
}
Tdate Tdate::setDate(int y,int m,int d){
yy=y; mm=m; dd=d;
return *this;
}
void Tdate::display(){
cout<<"addres is: "<<this<<"\t"<<yy<<":"<<mm<<":"<<dd<<endl;
}
Tdate::~Tdate(){
int i = 1;
cout<<"destructor :"<<i<<endl;
i++;
}
void main(){
Tdate d1,d2; //L1
cout<<"d1 "; d1.display(); //L2
cout<<"d2 "; d2.display(); //L3
d1.setYear(2007).setMonth(03).setDay(30); //L4
cout<<"d1 "; d1.display(); //L5
d1.setDate(2000,01,10).setDay(30); //L6
cout<<"d1 "; d1.display(); //L7
Tdate *p; //L8
p=d1.setDay(21); //L9
cout<<" p "; //L10
p->display(); //L11
Tdate d3=d2.setYear(2006).setMonth(4); //L12