use*_*851 1 c++ linux inheritance
我正在尝试使用类用户继承一个名为TCPSocket的类.尽管我正在使用ifndef,但我收到了消息:'User :: User(int,sockaddr_in,sockaddr_in)'
这来自我的头文件:
#ifndef USER_H_
#define USER_H_
#include <string.h>
#include "TCPSocket.h"
class User : TCPSocket {
string _U_Name;
string _in_session;
string _in_room;
public:
User(int connected_sock,struct sockaddr_in server_addr, struct sockaddr_in peer_addr)
:TCPSocket(connected_sock,server_addr, peer_addr);
virtual ~User();
};
#endif /* USER_H_ */
Run Code Online (Sandbox Code Playgroud)
您的构造函数部分在头文件中实现:
User(int connected_sock, sockaddr_in server_addr, sockaddr_in peer_addr)
: TCPSocket(connected_sock,server_addr, peer_addr);
Run Code Online (Sandbox Code Playgroud)
如果已在.cpp文件中实现了构造函数,请删除初始化列表:
User(int connected_sock, sockaddr_in server_addr, sockaddr_in peer_addr);
Run Code Online (Sandbox Code Playgroud)
或者通过添加正文来完成实现,并确保它没有在以下位置定义.cpp:
User(int connected_sock, sockaddr_in server_addr, sockaddr_in peer_addr)
: TCPSocket(connected_sock,server_addr, peer_addr)
{
....
}
Run Code Online (Sandbox Code Playgroud)
请注意,在C++中,您不必struct在整个地方键入内容.另请注意,a的继承class是private默认的,因此您将私下继承.
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |