I am prompted to make a class named "secretType" in which it must include private variables: name of type string, height of type double and age and height of type int. I must also include public member functions:
print - outputs the data stored in the member variables with the appropriate titles
setName - function to set the name
setAge - function to set the age
setWeight - function to set the weight
setHeight - function to set the height
getName - value-returning function to return the name
getAge - value-returning function to return the age
getWeight - value-returning function to return the weight
getHeight - value-returning function to return the height
and a constructor with default parameters.
It seems to me like I have done everything properly, but I get countless errors when compiling stating that the prototypes and candidates are not the same, for example:
"[Error] prototype for 'void secretType::setHeight(int)' does not match any in the class 'secretType'."
"[Error] candidate is: void secretType::setHeight(double)"
Yet I didn't declare setHeight as an int, I clearly declared it as a double
|
void setHeight(double height);
|
I don't know what I'm doing wrong. Any help would be appreciated.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
#include <iostream>
#include <string>
using namespace std;
class secretType {
public:
// Constructor including parameters
secretType(string = " ", int = 0, int = 0, double = 0);
void print() const; // Prints for testing
void setName(string name);
void setAge(int age);
void setWeight(int weight);
void setHeight(double height);
string getName()const;
int getAge()const;
int getWeight()const;
double getHeight()const;
private:
string name;
int age, weight;
double height;
};
// Creates member function definitions
void secretType::print() const {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Weight: " << weight << endl;
cout << "Height: " << height << endl;
}
void secretType::setAge(int a) {
age = a;
}
void secretType::setName(string n) {
name = n;
}
void secretType::setWeight(int w) {
weight = w;
}
void secretType::setHeight(int h) {
height = h;
}
void secretType::getName()const {
return name;
}
void secretType::getAge()const {
return age;
}
void secretType::getWeight()const {
return weight;
}
void secretType::getHeight()const {
return height;
}
// Main program to test
int main() {
secretType secretObject; // Creates an object to test
secretObject.setName("Margaret Smith");
secretObject.setAge(34);
secretObject.setWeight(156);
secretObject.setHeight(62);
secretObject.print();
system("PAUSE");
return 0;
}
|