Я пытаюсь использовать функцию, которую у меня есть в базовом классе «SHAPE», с производным классом «RECTANGLE» для создания большего прямоугольника в моем классе «BIGRECTANGLE». Я хочу, чтобы мои стороны трансформировались внутри класса, а не в основном, что мне делать? Благодаря!Вложенные классы и наследование
#include <iostream>
using namespace std;
// Base class Shape
class Shape
{
public:
void ResizeW(int w)
{
width = w;
}
void ResizeH(int h)
{
height = h;
}
protected:
int width;
int height;
};
// Primitive Shape
class Rectangle: public Shape
{
public:
int width = 2;
int height = 1;
int getArea()
{
return (width * height);
}
};
// Derived class
class BIGRectangle: public Rectangle
{
public:
int area;
Rectangle.ResizeW(8);
Rectangle.ResizeH(4);
area = Rectangle.getArea();
};
int main(void)
{
return 0;
}
Эти ошибки, которые у меня есть: - 45:14: ошибка: ожидается, неквалифицированный-идентификатор, прежде чем ". токен - 46:14: ошибка: ожидаемый неквалифицированный идентификатор до '.' токен - 47: 5: ошибка: «площадь» не называет тип
Поместите это в конструктор или что-то еще ... Знаете ли вы, что такое конструкторы? Вы не используете их. – LogicStuff
@LogicStuff вы можете помочь мне разобраться? – FL93
Вот ссылка на [tutorial] (http://www.cplusplus.com/doc/tutorial/classes/) на конструкторах. И еще одна ссылка на [inheritance] (https: // www.cs.bu.edu/teaching/cpp/inheritance/intro/). Читай их; Google - ваш друг. – NonCreature0714