Это простая программа на C++, включающая в себя наследование
Я изучаю наследование, и когда я выполняю эту программу, я не получаю правильных результатов. Плз помогите.
Что я уже пробовал:
#include "iostream.h" class variables { public: //square int a; //rect int l,b; }; class square : public variables { public: void s() { cout<<"You chose square. Enter the side of the square. \n"; cin>>a; } }; class rectangle : public variables { public: void r() { cout<<"You chose rectangle. Enter the length and breadth of the rectangle. \n"; cin>>l>>b; } }; class calculate : public variables { public: void as() //as=area of square { cout<<a*a; } void ar() //ar=area of rectangle { cout<<l*b; } void ps() //ps=perimeter of square { cout<<4*a; } void pr() //pr=perimeter of rectangle { cout<<(2*l+2*b); } }; int main() { calculate obj; square q; rectangle t; int n; cout<<"Welcome to the maths page\n"; cout<<"Choose the shape\n"; cout<<"\n1) Square \n2) Rectangle (1-2)\n"; cin>>n; switch (n) { case 1: q.s(); cout<<"Area of the square = "; obj.as(); cout<<"Perimeter of the square = "; obj.ps(); break; case 2: t.r(); cout<<"Area of the rectangle = "; obj.ar(); cout<<"Perimeter of the rectangle = "; obj.pr(); break; } return 0; }
Richard MacCutchan
Какой результат вы получаете и почему они не правы?
Посмотрев на ваш код, я думаю, что вам нужно перечитывать свои справочники по классам и наследованию. Или поискать в Google учебники.
Patrice T
Покажите пример ввода с фактическим выходом и правильным выходом.