C++ class is not recognizing string data type
- by reallythecrash
I'm working on a program from my C++ textbook, and this this the first time I've really run into trouble. I just can't seem to see what is wrong here. Visual Studio is telling me Error: identifier "string" is undefined.
I separated the program into three files. A header file for the class specification, a .cpp file for the class implementation and the main program file. These are the instructions from my book:
Write a class named Car that has the following member variables:
year. An int that holds the car's model year.
make. A string that holds the make of the car.
speed. An int that holds the car's current speed.
In addition, the class should have the following member functions.
Constructor. The constructor should accept the car's year and make as arguments and assign these values to the object's year and make member variables. The constructor should initialize the speed member variable to 0.
Accessors. Appropriate accessor functions should be created to allow values to be retrieved from an object's year, make and speed member variables.
There are more instructions, but they are not necessary to get this part to work.
Here is my source code:
// File Car.h -- Car class specification file
#ifndef CAR_H
#define CAR_H
class Car
{
private:
int year;
string make;
int speed;
public:
Car(int, string);
int getYear();
string getMake();
int getSpeed();
};
#endif
// File Car.cpp -- Car class function implementation file
#include "Car.h"
// Default Constructor
Car::Car(int inputYear, string inputMake)
{
year = inputYear;
make = inputMake;
speed = 0;
}
// Accessors
int Car::getYear()
{
return year;
}
string Car::getMake()
{
return make;
}
int Car::getSpeed()
{
return speed;
}
// Main program
#include <iostream>
#include <string>
#include "Car.h"
using namespace std;
int main()
{
}
I haven't written anything in the main program yet, because I can't get the class to compile. I've only linked the header file to the main program. Thanks in advance to all who take the time to investigate this problem for me.