C++多继承下不同基类的同名函数使用记录

在C++中,同时继承两个基类,但是两个基类中存在同名的函数。导致调用基类同名函数时造成了冲突,编译报错。

解决方法需要明确指定使用的是那个基类的函数。代码示例:

class A: public svcServer<A>, public svcClient<A>
{
	A();
	~A();
}

class svcServer
{
public:
	void connect();
	void disconnect();
}

class svcClient
{
public:
	void connect();
	void disconnect();
}

main.cpp
int main( int argc, char *argv[] )
{
	A a = new A();
	
	//error
	a.connect();	//产生歧义
	a.disconnect();	//产生歧义

	//明确基类
	a.svcServer::connect();
	a.svcServer::disconnect();

	a.svcClient::connect();
	a.svcClient::disconnect();
}

你可能感兴趣的:(多继承,同名,基类)