话很少说,先上代码ios
#include<iostream>
#include<cstring>
#include<string>
#include<iomanip>
#include<fstream>
using namespace std;
class Date
{
private:
int year,month,day;
public:
Date():year(1),month(1){day=3;};
Date(int t1,int t2=5,int t3=5);
void print();
};
Date::Date(int s1,int s2,int s3){
year=s1;
month=s2;
day=s3;
}
void Date::print()
{
cout<<year<<" "<<month<<" "<<day<<endl;
}
int main()
{
Date w1;
Date w2(1);
Date w3(1,2);
Date w4(1,2,3);
w1.print();
w2.print();
w3.print();
w4.print();
return 0;
}
函数
输出结果:spa
1 1 3ip
1 5 5string
1 2 5io
1 2 3class
我感受我已经不适合打代码了,把输出函数打成了 cout<<year<<" "<<month<<" "<<year<<endl;stream
我还搁那傻了吧唧的调。。。构造函数
在函数重载的时候有个地方须要注意,若是要初始化三个参数,则必须将Date();这个函数去掉,由于对于所有指定了默认值的构造函数,不能再定义其余参数类型与之相同的重载构造函数。co
#include<iostream>
#include<cstring>
#include<string>
#include<iomanip>
#include<fstream>
using namespace std;
class Date
{
private:
int year,month,day;
public:
//Date():year(1),month(1){day=3;};
Date(int t1=1,int t2=5,int t3=5);
void print();
};
Date::Date(int s1,int s2,int s3){
year=s1;
month=s2;
day=s3;
}
void Date::print()
{
cout<<year<<" "<<month<<" "<<day<<endl;
}
int main()
{
Date w1;
Date w2(1);
Date w3(1,2);
Date w4(1,2,3);
w1.print();
w2.print();
w3.print();
w4.print();
return 0;
}
输出结果:
1 5 5
1 5 5
1 2 5
1 2 3