C++;src\Class-name.cpp中的类错误 已经在C++编程了将近一年了。然而,我一直在逃课(是的,我知道,这是个坏主意)。 我的.cpp文件有问题 #include "Password.h" Password::Password() //<-- error here { //ctor } Password::~Password() //<-- and here { //dtor } #包括“Password.h” Password::Password()//
C++;src\Class-name.cpp中的类错误 已经在C++编程了将近一年了。然而,我一直在逃课(是的,我知道,这是个坏主意)。 我的.cpp文件有问题 #include "Password.h" Password::Password() //<-- error here { //ctor } Password::~Password() //<-- and here { //dtor } #包括“Password.h” Password::Password()//,c++,class,C++,Class,Password::Password(){…}将定义一个已声明的函数 为此, 该函数必须已声明(在密码的声明的类中)-- 并且它应该声明为具有相同签名的,并且 函数不能已经定义——只能声明; 否则,您将定义一个函数两次,编译器将抱怨 在.h文件中,您有: Password (string pass) {this->password = pass;} 在这里,您可以注意到两个问题: 此构造函数的签名与cpp文件中定义的构造函数的签名不同;构造函数Password()在任何地方都不存
Password::Password(){…}
将定义一个已声明的函数
为此,
密码的声明的类中)--
- 并且它应该声明为具有相同签名的,并且
- 否则,您将定义一个函数两次,编译器将抱怨
.h
文件中,您有:
Password (string pass) {this->password = pass;}
在这里,您可以注意到两个问题:
Password()
在任何地方都不存在,因此无法在cpp文件中定义它李>
字符串传递
,您将看到一个新错误让您的CPP代码按原样工作 您的
password.h
应更改其class password
声明,以包括:
// Password.h
class Password {
public:
Password(); // default ctor ; declared, not defined
~Password(); // default dtor ; declared, not defined
}
在cpp文件中使用
Password::Password
与头文件具有相同的行为
更改头文件,以便:
// password.h
...
Password (string pass); // only declared
...
然后更改CPP文件:
Password::Password(std::string pass) { // ctor
}
Password::Password(){…}
将定义一个已声明的函数
为此,
密码的声明的类中)--
- 并且它应该声明为具有相同签名的,并且
- 否则,您将定义一个函数两次,编译器将抱怨
.h
文件中,您有:
Password (string pass) {this->password = pass;}
在这里,您可以注意到两个问题:
Password()
在任何地方都不存在,因此无法在cpp文件中定义它李>
字符串传递
,您将看到一个新错误让您的CPP代码按原样工作 您的
password.h
应更改其class password
声明,以包括:
// Password.h
class Password {
public:
Password(); // default ctor ; declared, not defined
~Password(); // default dtor ; declared, not defined
}
在cpp文件中使用
Password::Password
与头文件具有相同的行为
更改头文件,以便:
// password.h
...
Password (string pass); // only declared
...
然后更改CPP文件:
Password::Password(std::string pass) { // ctor
}
头文件
Password.h
中有什么内容?您是否在其中声明了此构造函数和析构函数?头文件Password.h
中有什么内容?你在里面声明了这个构造函数和析构函数吗?