为什么提示:no overloaded function takes 3 parameters
#include<string>#include<iostream>usingnamespacestd;classStudent{public:student(intn,...
#include <string>
#include <iostream>
using namespace std;
class Student
{ public :
student(int n,string nam,char s)
{num=n;
name=nam;
sex=s;
cout<<"Constructor called."<<endl;
}
~Student()
{cout<<"Destructor called."<<endl;}
void display()
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl<<endl;
}
private:
int num;
string name;
char sex;
};
int main()
{Student stud1(10010,"Wang_li",'f');
stud1.display();
Student stud2(10011,"Zhang_fun",'m');
stud2.display();
return 0;
}
--------------------Configuration: 例35 - Win32 Debug--------------------
Compiling...
35.cpp
E:\编程\例35\35.cpp(11) : warning C4183: 'student': member function definition looks like a ctor, but name does not match enclosing class
E:\编程\例35\35.cpp(25) : error C2661: 'Student::Student' : no overloaded function takes 3 parameters
E:\编程\例35\35.cpp(27) : error C2661: 'Student::Student' : no overloaded function takes 3 parameters
Error executing cl.exe.
例35.exe - 2 error(s), 1 warning(s) 展开
#include <iostream>
using namespace std;
class Student
{ public :
student(int n,string nam,char s)
{num=n;
name=nam;
sex=s;
cout<<"Constructor called."<<endl;
}
~Student()
{cout<<"Destructor called."<<endl;}
void display()
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl<<endl;
}
private:
int num;
string name;
char sex;
};
int main()
{Student stud1(10010,"Wang_li",'f');
stud1.display();
Student stud2(10011,"Zhang_fun",'m');
stud2.display();
return 0;
}
--------------------Configuration: 例35 - Win32 Debug--------------------
Compiling...
35.cpp
E:\编程\例35\35.cpp(11) : warning C4183: 'student': member function definition looks like a ctor, but name does not match enclosing class
E:\编程\例35\35.cpp(25) : error C2661: 'Student::Student' : no overloaded function takes 3 parameters
E:\编程\例35\35.cpp(27) : error C2661: 'Student::Student' : no overloaded function takes 3 parameters
Error executing cl.exe.
例35.exe - 2 error(s), 1 warning(s) 展开
3个回答
展开全部
C/C++是区分大小写的。构造函数的名字必须和类名完全一致。
你的类叫Student,大写S;构造函数叫student,小写s,这就错了。
编译器会认为student(...)不是构造函数,只是一个普通的成员函数。
你的类叫Student,大写S;构造函数叫student,小写s,这就错了。
编译器会认为student(...)不是构造函数,只是一个普通的成员函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
student(int n,string nam,char s)
-〉
Student(int n,string nam,char s)
-〉
Student(int n,string nam,char s)
追问
可不可以详细点啊 大哥
追答
student(int n,string nam,char s)
第一个字母大写。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询