#include<iostream>
using namespace std;
#include<cmath>
class base{
public:
virtual void disp()=0;
};
class pa1:public base{
public:
pa1(double a)
{
this->a=a;
}
void disp()
{
cout<<pow(a,2)<<endl;
}
private:
double a;
};
class pa2:public base{
public:
pa2(double a)
{
this->a=a;
}
void disp()
{
cout<<pow(a,3)<<endl;
}
private:
double a;
};
class pa3:public base{
public:
pa3(double a,double n)
{
this->a=a;
this->n=n;
}
void disp()
{
cout<<pow(a,n)<<endl;
}
private:
double a,n;
};
int main()
{
double a,n;
cout<<"输入a和n的值"<<endl;
cin>>a>>n;
pa1 ob1(a);
pa2 ob2(a);
pa3 ob3(a,n);
ob1.disp();
ob2.disp();
ob3.disp();
return 0;
}
抽象类的应用
本文介绍了一个C++程序,展示了如何创建基类`base`及其三个派生类`pa1`, `pa2`, 和 `pa3`,每个派生类重写`disp()`方法并实现不同的幂运算。通过`main()`函数,用户输入a和n的值,实例化不同类的对象并调用各自的方法输出结果。
摘要由CSDN通过智能技术生成