Hi Zlatko
I have 2 classes, Rectangle & Block. I am trying to make than communicate. However there are a few errors during program compile.
using namespace std;
//class Rectangle class Rectangle { private: int length; int width; public: int getData(int,int); void showRectangle(); int computeArea(); };
int Rectangle::getData(int len, int wid)
{
length = len;
width = wid;
}
void Rectangle::showRectangle() { cout <<"Dimensions are " << length << "by " << width << endl;
}
int Rectangle::computeArea() { int area = length * width; cout << "Area is " << area << endl;
}
//class Block class Block : public Rectangle { private: int height; public: int getData(int,int); void showBlock(); int computeArea(); };
int Block::getData(int len, int wid, int ht) { Rectangle::getData(len, wid); ht = height; }
void Block::showBlock() { cout << "Height " << height << endl; showRectangle(); cout << endl; }
int Block::computeArea() { int area = length * width * height; cout << "Volume is " << area << endl; }
//main function int main() { Rectangle square; square.getData(4,5); cout << endl << "Rectangle..." << endl; square.showRectangle; square.computeArea();
Block cube; cube.getData(2, 4, 6); cout << "Block..." << endl; cube.showBlock(); cube.computeArea(); }
Hello Steve.
Below is the corrected program. I am not including a text explanation of what I did. I am trying something new. You can watch a video of the program being corrected and hear my explanations by going to this site:
http://www.divshare.com/download/13343006-54b
I recommend you watch in full screen mode.
Please do let me know if the video is watchable, or if it needs too much bandwidth.
using namespace std;
//class Rectangle class Rectangle { protected:
int length; int width;
public:
Rectangle(); void setData(int,int); void showRectangle(); int computeArea();
};
Rectangle::Rectangle() {
length = 0; width = 0;
}
void Rectangle::setData(int len, int wid) {
length = len; width = wid;
}
void Rectangle::showRectangle() {
cout <<"Dimensions are " << length << "by " << width << endl;
}
int Rectangle::computeArea() {
int area = length * width; cout << "Area is " << area << endl; return area;
}
//class Block class Block : public Rectangle { private:
int height;
public:
Block(); void setData(int len, int vid, int ht); void showBlock(); int computeVolume();
};
Block::Block() {
height = 0;
}
void Block::setData(int len, int wid, int ht) {
Rectangle::setData(len, wid); height = ht;
}
void Block::showBlock() {
cout << "Height " << height << endl; showRectangle(); cout << endl;
}
int Block::computeVolume() {
int volume = length * width * height; cout << "Volume is " << volume << endl; return volume;
}
//main function int main() {
Rectangle square; square.setData(4,5); cout << endl << "Rectangle..." << endl; square.showRectangle(); square.computeArea();
Block cube; cube.setData(2, 4, 6); cout << "Block..." << endl; cube.showBlock(); cube.computeArea(); cube.computeVolume();
}
Advertisement