Hi. I can't figure out what I'm doing wrong here. I know I have to instantiate a Carpet object, assign values then pass the instance to the printArea func. Easier said than done! Thanks for any help!! L

#include<iostream.h>
#include<conio.h>

class Carpet
{
public:
int lengthInFeet;
int widthInFeet;


};
void main()
{
int lengthInFeet=12;
int widthInFeet=12;
int total;
total=lengthInFeet*widthInFeet;

getch();
}

void printArea(total)
{
cout<<"The area of carpet is "total"sq. feet."<<endl;
}

Recommended Answers

All 8 Replies

Ah where to begin:

1. void main is wrong it is int main!

2. If you are going to use standard headers do it this way

#include <iostream>
using namespace std;

3.Use code tags like I did above they make everyone who reads your post happy. Read This.

As for your question to declare an instance of your class you just do this

#include <iostream>//Ah the way it should be 

using namespace std;


class Carpet
{
  public:
    int lengthInFeet;
    int widthInFeet;
    int area()
    {
      
      return (lengthInFeet * widthInFeet);//return the length times the width
      
    }
      
};


int main()//A thing of beauty
{
  
  Carpet mainCarpet;//declaring an instance of "Carpet"
  mainCarpet.lengthInFeet = 10;//setting the length
  mainCarpet.widthInFeet = 6;//setting the width
  cout<<mainCarpet.area();//printing out the return value of area
  cin.get();
  return 0;
  
}

thats a poor class, you should really have a constructor in there, and pass values using set and get functions.

>and pass values using set and get functions
If possible, set and get member functions should be avoided. The only advantage is that data members can be accessed through a controlled interface, but a well designed class will hide its internals properly, thus making the need for get and set member functions unnecessary. Here are a few guidelines for designing classes, concerning data members:

1) All data members are private.
2) If possible, access to data members should not rely on the type of data.
3) All outside forces (including derived types) should work through a public (or protected) interface only.

All my teaching in class's and OOP have used the idea of set and get fuctions are needed... I could post up alot of my work if you wish?

That's generally how OOP is taught, and get/set methods have their place, but teachers (and as a result, their students) often take it to the extreme to the detriment of good design.

lol, I've often thought a good design is something that is ment to exsist and cant be made better....

There are degrees of goodness. Long ago, monolithic programs with GOTO statements all over creation was considered good design. Imagine how hard programming would be today if nobody tried to make it better through structured programming techniques, OOP, service oriented design, component oriented design, design patters, and the like.

Yeh true! Anyway we best stop there otherwise we are going a tad off topic!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.