纯虚函数 执行new操作问题请教
如果执行以下调用,会发生什么情况,为什么
请各位大侠多多指点.
//执行调用
CLock *lpLock = new CLock( );
//头文件Lock.h定义开始
#pragma once
#include tstring.h
namespace company1
{
class CLock
{
public
CLock( void );
virtual ~CLock( void ) = 0;
virtual bool isLocked( void ) const = 0; virtual bool isUnlocked( void ) const = 0; }; };
//头文件定义结束
//cpp文件定义开始
#include StdAfx.h
#include Lock.h
namespace company1
{
CLock::CLock( void )
{
}
CLock::~CLock( void )
{
}
};
//cpp文件定义结束
[解决办法]
抽象类是不可能构造出对象的。
[解决办法]
[解决办法]
[解决办法]
无法编译……类里面只要有一个纯虚函数就无法编译
[解决办法]
[解决办法]
[解决办法]
[解决办法]
楼主编译能通过?
[解决办法]
在CLock的派生类中实现纯虚函数,
CLock *lpLock = new CDerivedLock( );
[解决办法]