摘要:
以下类的定义只是为了说明虚拟机制而设计:class Animal{ public: int getNum();}class Bird : public Animal{ public: int getNum();}Animal *pa = new Bird();1、pa->getNum();此时调用的是Animal类的getNum()修改Bird类为:class Bird : public Animal{ public: int getNum(); virtual int getAge();}2、pa->getAge();编译错误:Animal类中不存在getAge... 阅读全文
摘要:
#include <iostream>class Base{public: virtual int foo( int ival = 1024 ) { cout<<"Base::foo()----- ival: "<<ival<<endl; return ival; }};class Derived : public Base{ public: virtual int foo( int ival = 2048) { cout<<"Derived::foo()----- ival: "<< 阅读全文
摘要:
基类定义如下:class Query{public: virtual Query *clone() = 0;};派生类定义如下:class NameQuery : public Query{ public: virtual Query *clone() { return new NameQuery(*this); }};Query *pq = new NameQuery();Query *pq1 = pq->clone();//获取抽象基类的“拷贝” 阅读全文
摘要:
有一个基类:class Animal { public: Animal(); void setWeight(float weight); float getWeight(); private: float weight;}有两个Animal类的派生类:class ma:public Animal{ public: ma(); void run();}class lv:public Animal{ public: lv(); void roar();}定义一个派生类 luozi 继承 ma 和 lvclass luozi: public m... 阅读全文
摘要:
/****Lession1.h****/extern bool a;extern int b;extern float c;extern double d;extern unsigned int e;extern long f;extern unsigned long g;extern char h;extern long double i; /****Lession1.cpp****/#include "stdafx.h"#include "Lession1.h"bool a;int b;float c;double d;unsigned int e; 阅读全文