热门IT资讯网

继承抽象类

发表于:2024-11-29 作者:热门IT资讯网编辑
编辑最后更新 2024年11月29日,#ifndef VIRTUAL1#define VIRTUAL1#includeusing namespace std;class Number{public:Number(int i){ x = i

#ifndef VIRTUAL1

#define VIRTUAL1

#include

using namespace std;

class Number{

public:

Number(int i){ x = i; }

virtual void show() = 0;

protected:

int x;

};

class dec_type :public Number{//这里必须公有继承,否则派生类对象做实参无法传递给基类的

//引用对象。

public:

dec_type(int i) :Number(i){}

void show(){

cout << dec << x<

}

};

class hex_type:public Number{

public:

hex_type(int i) :Number(i){}

void show(){

cout << hex << x<

}

};

class oct_type :public Number{

public:

oct_type(int i) :Number(i){}

void show(){

cout << oct << x<

}

};

#endif


#include"vitual1.h"

void fun(Number &n){//抽象类可以做引用

n.show();

}

int main(){

oct_type oc(50);

fun(oc);//派生类对象做参数传给基类的引用

system("pause");

return 0;

}


0