gpt4 book ai didi

c++ - 嵌套类变量调用

转载 作者:行者123 更新时间:2023-11-28 03:22:31 26 4
gpt4 key购买 nike

我想从这个开始: enter image description here

为此: enter image description here

我该怎么做?子类 square 和 rectangle 的函数如何知道使用父类 shape 的变量?

我如何从 main 设置长度和宽度?

#include <iostream>
#include <cmath>
using namespace std;

class SHAPES
{
public:
class SQUARE
{
int perimeter(int length, int width)
{
return 4*length;
}
int area(int length, int width)
{
return length*length;
}
};
public:
class RECTANGLE
{
int perimeter(int length, int width)
{
return 2*length + 2*width;
}
int area(int length, int width)
{
return length*width;
}
};

};

最佳答案

我推荐其他(更好?!)格式:

class Shape
{
protected:
int length,width;
public:
Shape(int l, int w): length(l), width(w){}
int primeter() const
{
return (length + width) * 2;
}
int area() const
{
return length * width;
}
};

class Rectangle : public Shape
{
public
Rectangle(int l, int w) : Shape(l,w){}
};

class Square : public Shape
{
public:
Square(int l): Shape(l,l){}
};


int main()
{
Rectangle r(5,4);
Square s(6);

r.area();
s.area();
}

或者使用interface with virtual function .

关于c++ - 嵌套类变量调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15053708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com