不借助编译器,说出下面程序的输出。
程序片断一:
#include <iostream>
class base
{
public:
void fun( double value )
{
std::cout << value << std::endl;
}
};
class derive : public base
{
public:
void fun( int value )
{
std::cout << value << std::endl;
}
};
int main( int argc,char *argv[] )
{
derive d;
d.fun( 1 );
d.fun( 1.5 );
return 0;
}
程序片断二:
#include <iostream>
class base
{
public:
virtual void fun( void )
{
std::cout << "In base" << std::endl;
}
};
class derive : public base
{
public:
virtual void fun( void )
{
std::cout << "In derive" << std::endl;
}
};
int main( int argc,char *argv[] )
{
base *pBase = new derive;
pBase->fun();
base &rBase = *pBase;
rBase.fun();
return 0;
}