求解C++题。感谢感谢
其中四个构造函数体中都加一条输出语句,分别为“执行构造函数1!”“执行构造函数2!”“执行构造函数3!”“执行构造函数4!”,再增加一个析构函数,函数体只有一条输出语句,...
其中四个构造函数体中都加一条输出语句,分别为“执行构造函数1!”“执行构造函数2!”“执行构造函数3!”“执行构造函数4!”,再增加一个析构函数,函数体只有一条输出语句,输出“执行析构函数!”。
#include<iostream>
using namespace std;
class Date
{public:
Date(int,int,int);
Date(int,int);
Date(int);
Date();
void display();
private:
int mouth;
int day;
int year;
};
Date::Date(int m,int d,int y):mouth(m),day(d),year(y)
{}
Date::Date(int m,int d):mouth(m),day(d)
{year=2005;}
Date::Date(int m):mouth(m)
{day=1;
year=2005;
}
Date::Date()
{mouth=1;
day=1;
year=2005;
}
void Date::display()
{cout<<mouth<<"/"<<day<<"/"<<year<<endl;}
int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
} 展开
#include<iostream>
using namespace std;
class Date
{public:
Date(int,int,int);
Date(int,int);
Date(int);
Date();
void display();
private:
int mouth;
int day;
int year;
};
Date::Date(int m,int d,int y):mouth(m),day(d),year(y)
{}
Date::Date(int m,int d):mouth(m),day(d)
{year=2005;}
Date::Date(int m):mouth(m)
{day=1;
year=2005;
}
Date::Date()
{mouth=1;
day=1;
year=2005;
}
void Date::display()
{cout<<mouth<<"/"<<day<<"/"<<year<<endl;}
int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
} 展开
3个回答
展开全部
#include<iostream>
using namespace std;
class Date
{
public:
Date(int m,int d,int y):mouth(m),day(d),year(y)
{
cout<<"执行第一个构造函数!"<<endl;
}
Date(int m,int d):mouth(m),day(d)
{
year=2005;
cout<<"执行第二个构造函数!"<<endl;
}
Date(int m):mouth(m)
{
day=1;
year=2005;
cout<<"执行第三个构造函数!"<<endl;
}
Date()
{
mouth=1;
day=1;
year=2005;
cout<<"执行第四个构造函数!"<<endl;
}
void display()
{
cout<<mouth<<"/"<<day<<"/"<<year<<endl;
}
~Date()
{
cout<<"执行析构函数!"<<endl;
}
private:
int mouth;
int day;
int year;
};
int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}
为了好区分,我把你在类外部定义的函数都在内部定义啦,你换到外部定义也是一样的~
注意一下调用的次序~
using namespace std;
class Date
{
public:
Date(int m,int d,int y):mouth(m),day(d),year(y)
{
cout<<"执行第一个构造函数!"<<endl;
}
Date(int m,int d):mouth(m),day(d)
{
year=2005;
cout<<"执行第二个构造函数!"<<endl;
}
Date(int m):mouth(m)
{
day=1;
year=2005;
cout<<"执行第三个构造函数!"<<endl;
}
Date()
{
mouth=1;
day=1;
year=2005;
cout<<"执行第四个构造函数!"<<endl;
}
void display()
{
cout<<mouth<<"/"<<day<<"/"<<year<<endl;
}
~Date()
{
cout<<"执行析构函数!"<<endl;
}
private:
int mouth;
int day;
int year;
};
int main()
{
Date d1(10,13,2005);
Date d2(12,30);
Date d3(10);
Date d4;
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}
为了好区分,我把你在类外部定义的函数都在内部定义啦,你换到外部定义也是一样的~
注意一下调用的次序~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在构造函数中写cout<<"执行构造函数n"<<endl;不就完了?
析构函数在类体内声明、定义
~Date()
{
cout<<"执行析构函数!"<<endl;
}
析构函数在类体内声明、定义
~Date()
{
cout<<"执行析构函数!"<<endl;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要想干什么?
更多追问追答
追问
什么干什么
追答
你想问什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询