当前位置:  开发笔记 > 编程语言 > 正文

C++类 - 派生类中的构造函数声明

如何解决《C++类-派生类中的构造函数声明》经验,为你挑选了1个好方法。

Socket有一个构造函数,它将winsock SOCKET作为参数并将其存储在一个私有变量中:

Socket::Socket(SOCKET s) {
    this->s = s;
}

我正在尝试创建一个类"GameSocket"来解析我的Socket类中的数据:

class GameSocket : public Socket {

protected:

    void ParseData(unsigned char* data, int size);

};

在这些类的旁边,我有一个"Server"类,可以在需要时创建新的套接字:

GameSocket* Server::Accept() {

    SOCKET a = accept(s, 0, 0);
    if(a==SOCKET_ERROR) {
        return 0;
    }
    else {
        return new GameSocket(a);
    }

}

但是,这给了我最后一个"其他"的错误:

error C2664: 'GameSocket::GameSocket' : cannot convert parameter 1 from 'SOCKET' to 'const GameSocket &'

在处理派生类时,我必须遗漏构造函数...

不要对我太过刻意,我对C++和OOP比较陌生



1> David Allan ..:

添加GameSocket的构造函数

class GameSocket : public Socket {

public:

    // you need to add
    GameSocket(SOCKET s) : Socket(s) {}

protected:

    void ParseData(unsigned char* data, int size);

};

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有