#include
<
iostream
>
#include < string >
using namespace std;
class A
... {
public:
/**//*virtual */void print(void)
...{
cout << " A " << endl;
}
protected:
private:
} ;
class B : public A
... {
public:
/**//*virtual */void print(void)
...{
cout << " B " << endl;
}
protected:
private:
} ;
int main( int argc, char * argv[])
... {
A ca;
B cb;
A * pa = &ca;
A * pb = &cb;
ca.print();
cb.print();
pa->print();
pb->print();
}
#include < string >
using namespace std;
class A
... {
public:
/**//*virtual */void print(void)
...{
cout << " A " << endl;
}
protected:
private:
} ;
class B : public A
... {
public:
/**//*virtual */void print(void)
...{
cout << " B " << endl;
}
protected:
private:
} ;
int main( int argc, char * argv[])
... {
A ca;
B cb;
A * pa = &ca;
A * pb = &cb;
ca.print();
cb.print();
pa->print();
pb->print();
}
输出:
A
B
A
A // just run function in base class
B
A
A // just run function in base class
如果使用虚函数,输出为:
A
B
A
B // just run function in derived class
B
A
B // just run function in derived class