c++类外定义构造函数的问题,编译出错。

2024年11月22日 19:07
有3个网友回答
网友(1):

在类的定义中申明下面三个函数就行了,类外定义,但是还要在类内声明的;注意这些函数(无参数构造函数,含参数构造函数,析构函数)没有返回类型。
在stu类中public下加入下面三行即可,注意在声明时不要对函数中的形参赋值。
public:
//函数声明
stu();//构造函数
~stu();//析构函数
stu(double score,string name,int number);

网友(2):

#include
#include
using namespace std;
//定义类
class stu
{
private:

public:

int number;
double score;
string name;
stu *p;
//函数声明
void set(int number,double score,string name);//注意与构造函数的区别
void output();
stu(double score,string name,int number=1);///改的
stu(); //改的
~stu();//改的
};
//类外定义构造函数
//////注意这里形参不是int number=1
stu::stu(double score,string name,int number)//有参有默认参数值构造函数
{
this->number=number;
this->score=score;
this->name=name;
}
stu::stu()//无参构造函数
{}
stu::~stu()//析构函数
{
cout<<"delete"< }

//stu类成员函数定义
void stu::output()
{
cout< };

void stu::set(int number,double score,string name)
{
this->number=number;
this->score=score;
this->name=name;
};
int main()
{
return 0;
}

网友(3):

stu::stu()//无参构造函数
{}
stu::~stu()//析构函数
{
cout<<"delete"< }
没有在类中声明
在class stu定义中加上就可以了