兰秋葭月 2021-04-30 22:59 采纳率: 85.7%
浏览 41
已采纳

c++继承这里怎么改,求指导

 [Error] 'a' was not declared in this scope

[Error] 'b' was not declared in this scope

每个构造函数都这样报错

#include <iostream>
using namespace std;
class Container{
	protected:
		double s,v,h;
	public:
		virtual void out(){
			cout<<"s="<<s<<"v="<<s*h;
		}
		Container(double a,double b){
			s=a;
			h=b;
			v=s*h;
		}
};
class Sphere:public Container{
	private:
		double r;
	public:
		virtual void out(){
			s=4*3.1415926*r*r;
			v=s*r/3;
			cout<<"s="<<s<<"v="<<v;
		}
		Sphere(double i):Container(a,b){
			r=i;
		}
};
class Cylinder:public Container{
	private:
		double r;
	public:
		virtual void out(){
			s=2*3.1415926*r*r+2*3.1415926*r*h;
			v=h*3.1415926*r*r;
		    cout<<"s="<<s<<"v="<<v;
		}
		Cylinder(double m):Container(a,b){
			r=m;
		}
};
class Cube:public Container{
	private:
		double l;
	public:
	   	virtual void out(){
			s=6*l*l;
			v=l*l*l;
		    cout<<"s="<<s<<"v="<<v;
		}
		Cube(double n):Container(a,b){
			l=n;
		}
};
int main() {
	return 0;
}

题目:写一个程序,定义抽象基类Container,由它派生出3个派生类Sphere(球体)、Cylinder(圆柱体)、Cube(正方体)。用虚函数分别计算几种图形的表面积和体积。

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2021-05-01 00:36
    关注

    子类构造函数调用基类构造函数传递的a和b从哪来的?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀