C++中构造函数出错误,求助。

来源:百度知道 编辑:UC知道 时间:2024/05/11 22:16:01
能帮我改一下吗?谢谢。
#include<iostream>
#include<string>
using namespace std;

class stu
{
public:
stu( int NewNum,string NewName);
void Input(void);
void Output(void);
~stu(){};
private:
int num;
string name;
};

stu::stu(int NewNum,string NewName)
{
num=NewNum;
name=NewName;
}
void stu::Input(void)
{
cin>>num;
cin>>name;
}
inline void stu::Output(void)
{cout<<stu::num <<" "<<stu::name<<endl;
}
main()
{
int i;
stu a(0,noname);
a.Output(void);
for(i=0;i<5;i++)
{
a.Input(void);
a.Output(void);
~stu();
}
return 0;
}

#include<iostream>
#include<string>
using namespace std;

class stu
{
public:
stu( int NewNum,string NewName);
void Input(); //参数为空,可以不用void
void Output(); //参数为空,可以不用void
~stu(){};
private:
int num;
string name;
};

stu::stu(int NewNum,string NewName)
{
num=NewNum;
name=NewName;
}
void stu::Input()
{
cin>>num;
cin>>name;
}
inline void stu::Output()
{cout<<stu::num <<" "<<stu::name<<endl;
}
int main() //缺少返回值
{
int i;
stu a(0,"noname"); //noname少了""
a.Output(); //不需要参数
for(i=0;i<5;i++)
{
a.Input(); //不需要参数
a.Output(); //不需要参数
//~stu(); //没必要显式调用析构函数,编译器会自动处理
//如果要调用的话加上实例名:a.~stu();
}

return 0;
}
VS2005下编译,测试通过

编译通过
#include<iostr