return 0;
修改程序时可以去掉类对象定义时的const关键词。即:
int main ( )
{
MyClass obj (10);
obj.setX(20);
obj.print ();
return 0;
}
return 0;
①class Inherit:private Base
②setx(a);y=b;z=c;m=d;
③void Inherit::display()const{cout<<getx()<<","<<y<<","<<z<<","<<m<<end1;}
return 0;
①classCircle:public Point
②Circle(int a,int b,int c):Point(a,b){r=c;}
③return PI*r*r;[解析]本程序设计了一个点类Point,包含了横、纵两个坐标数据x和y,由它公有派生出了圆类Circle,并加入了新的数据成员,即一个半径数据r和一个求圆面积的函数成员area()。在主函数中,首先定义了一个圆Circle类的对象c1,并通过它的构造函数初始化其数据成员。由此可知,其半径r的值为10,所以其面积为PI*10*10=314,即对象c1的函数成员area()的返回值为314。
return 0;
①virtual void setx(int i,int j=0){x=i;y=j;}
②virtual void print=0;
③int x,y;[解析] 该程序中定义了A类、B类和C类共3个类。其中,类A是抽象类,它的类体内有一个纯虚函数print()。抽象类不可以定义对象,但可以定义指向对象的指针。类B和类C都是类A的公有派生类,这些类是具体类,它们对A类中纯虚函数都有不同的实现。该程序的主函数中,定义一个指向类A对象的指针pa,又定义了类B和类C的2个对象,并使指针pa分别指向这些对象。这里,采用动态联编,在运行时选择print()函数。
return 0;
正确的fun()函数为:
void fun(char *p,char *q,char *c)
{
int k=0;
while((!*p)&&(!*q))
{
if(*p<*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
k++;
}
}