Start by picking a braces style and sticking to it, and indenting your code so it's at least a bit readable:
#include<iostream>
using namespace std;
class Shape
{
protected:
float w,h;
void get()
{
cin>>w>>h;
}
Shape(float a)
{
w=a;
}
};
class Rectangle: public Shape
{
protected:
void area
{
cout<<w*h<<endl;
}
};
int main()
{
rectangle R;
R.get();
R.area();
return 0;
}
Then look at your error messages:
main.cpp:46:1: error: variable or field ‘area’ declared void
area
is either a field also known as a variable) or a method. If it's a field, it can't be
void
and if it's a method it needs a parameter list (even an empty one) denoted by '(' and ')' characters.
Since you try to call it, I'll assume it's a method. In which case, this is wrong:
void area
{
cout<<w*h<<endl;
}
It should be this:
void area()
{
cout<<w*h<<endl;
}
You should expect to get syntax errors every day, probably many times a day while you are coding - we all do regardless of how much experience we have! Sometimes, we misspell a variable, or a keyword; sometimes we forget to close a string or a code block. Sometimes the cat walks over your keyboard and types something really weird. Sometimes we just forget how many parameters a method call needs.
We all make mistakes.
And because we all do it, we all have to fix syntax errors - and it's a lot quicker to learn how and fix them yourself than to wait for someone else to fix them for you! So invest a little time in learning how to read error messages, and how to interpret your code as written in the light of what the compiler is telling you is wrong - it really is trying to be helpful!
So read this:
How to Write Code to Solve a Problem, A Beginner's Guide Part 2: Syntax Errors[
^] - it should help you next time you get a compilation error!