样题1.下列Shape类是一个表示形状的抽象类,Area()为求图形面积的函数,Total()则是一个通用的用以求不同形状的图形面积总和函数。请从Shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数。编写程序验证求面积函数的正确性。Shape、total的定义如下所示。Classshape{Pubilc:Virtualfloatarea()=0};floattotal(shape*s[],intn){floatsum=0.0;for(inti=0;iarea();returnsum;}