大家来给这个题改个错,c++高手进 100分,满意再加50

2025-02-01 00:44:02
推荐回答(4个)
回答1:

// test7.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include
using namespace std;
class A //少 {
{
public:
void display()
{
cout<<"A::display()is called!"< }//少 }
}; //少 ;
class B //少 {
{
public:
void display()
{
cout<<"B::display()is called!"< }
};
class C: public A, public B
{
int a;
public:
C(int i=0){a=i;}
void show(){ display();} //会产生二义性
};

int main(int argc, char* argv[])
{
C obj;
obj.display(); //会产生二义性
return 0;
}

/*******
类C从基类A,B中都继承了display()函数,我感觉就算把基类A,B中的函数都声明为虚函数,也不能解决二义性的问题.
而且虚函数的声明,是为了产生个公共接口,实现多态性.
应该用虚继承来消除二义性.举个例子:
class A //定义基类A
{
public:
void display();
};
class B:virtual public A //A为B的虚基类
{
};
class C:virtual public A //A为C的虚基类
{
};
class D:public B,public C //类D继承了类B,类C
{
};
//在主函数中定义个对象d,如果没有用到虚继承,就会产生二义性.
int main()
{
D d;
d.diplay()
return 0;
}

********/

#include
class Point
{
double x,y;
public:
Point(double i,double j)
{x=i;y=j;}
virtual double Area() //加上关键字virtual
{return 0;}
};
class Rectangle:public Point
{
double w,h;
public:
Rectangle(double i,double j,double k,double l):Point(i,j)
{w=k;h=l;}
double Area(){return w*h;}
};
void fun (Point&s)
{
cout<}
void main()
{
Rectangle rec(3.5,15.2,5,28);
fun(rec);
}
/******
在class Point{};的Area()前加上关键字virtual 就能实现多态性了.
楼主学C++到了虚继承和虚函数了吧..多看看C++教程里的例题吧...

******/

回答2:

你以为你是谁,考官?还是雇工头老板呐?

“在main函数中,要求创建一个Box类型的对象,并求出该对象的体积。”
还要求者要求那的,请问你是猪吗,还需要人喂饭吗?摆个破题还说是改错题

还“满意再加50”,给小费呢?

那点破分,谁稀罕

回答3:

#include
using namespace std;
class box
{
private:
double length;
double width;
double height;
double mvol;
public:
box(double x,double y,double z)
{
length=x;
width=y;
height=z;
mvol=x*y*z;
}
void volume()
{
cout<<"length="<

回答4:

骂得好,鄙视发作业题的,自己从来不思考!