- 实现
- 全虚函数--->Java抽象类
- 实现类
- 注意 :``我们在java中,在内部类是可以直接new 出接口然后去实现,但是在C++中是不支持的,所以我们需要自己手动写一个实现类``
在C++中并没有接口回调,但是为了更好地理解,我们说成是类似Java中的接口回调
全虚函数—>Java抽象类.h文件
#ifndef UNTITLED_ILOGIN_H #define UNTITLED_ILOGIN_H #include实现类#include "User.h" using namespace std; class ILogin{ public: virtual void success(int code, string message, User &user) = 0; virtual void fail(int code, string message)=0; }; #endif //UNTITLED_ILOGIN_H
.h文件
#ifndef UNTITLED_LOGIN_H
#define UNTITLED_LOGIN_H
#include "ILogin.h"
class Login:public ILogin {//公开继承ILogin接口
public:
void success(int, string, User &);
void fail(int, string);
};
#endif //UNTITLED_LOGIN_H
.cpp文件
#include "Login.h"
void Login::success(int code, string message, User & user) {
cout << "返回过来的代码: " << code << " 我是返回的消息 : " <
main函数
#include
#include "ILogin.h"
#include "User.h"
#include "Login.h"
using namespace std;
void login(string name, string pwd,ILogin &iLogin){
if (name == "fengjiazhen" && pwd == "123456") {
User user("fengjiazhen", "123");
iLogin.success(200, "恭喜你登录成功", user);
}
else{
iLogin.fail(400, "密码错误");
}
}
int main() {
string name;
string pwd;
cout << "请输入用户名 ";
cin >> name;
cout << "请输入密码 ";
cin >> pwd;
Login login1;
login(name, pwd, login1);
}
注意 :我们在java中,在内部类是可以直接new 出接口然后去实现,但是在C++中是不支持的,所以我们需要自己手动写一个实现类 


