问一个c++的程序

来源:百度知道 编辑:UC知道 时间:2024/09/24 01:54:03
#include<string>
#include<iostream>
using namespace std;
class Data
{
public:
Data(int a,int b,int c)
{
year=a;
month=b;
day=c;
}
Data(Data &p)
{
year=p.year;
month=p.month;
day=p.day;
}
void prin()
{cout<<"The birthday is :"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}
~Data(){}
private:
int year,month,day;
};
class Staff
{
public:
Staff(int a=1988,int b=2,int c=3):birthday(a,b,c){} //构造函数带参数
void putin();
void putout()
{
cout<<"num:"<<num<<" sex:"<<sex<<" ID:"<<ID<<endl;

很简单:
编译器把Staff p1();看作是Staff p1(void)这样的一个函数的声明了。
改成“Staff p1;”就可以了。

怎么没有构造函数Staff的实现部分?在下面补个实现部分就行了吧~

void Staff::Staff(int a,int b,int c)
{
birthday.year=a;
birthday.month=b;
birthday.day=c;
}

上面说的对