This Needs to becompleted using Visual Studio Only! It can be downloaded for free here: http://www.microsoft.com/visualstudio/eng/downloads#d-2010-expressSTEP 1: Create a Multifile Project for the Composition Lab1. Add three classes to the project: a Filter class, a Capacitor class, and a Resistor class.2. You may use the Resistor class files from the Week 2 lab for this lab. 3. The Capacitor class should be modeled after the Resistor class for class members and operation. STEP 2: Filter-Class DefinitionThe Filter class should have, at a minimum, the following capabilities.a resistor-object data membera capacitor-object data membera cutoff frequency (in Hertz) of the RC filtermaximum and minimum cutoff frequencies, based on the maximum and minimum in-tolerance values of the capacitor and the resistor objecta filter type, either low pass or high passallow the user to enter new values for the filter, including6.1. resistor tolerance and nominal resistance; 6.2. capacitor tolerance and nominal capacitance; and 6.3. filter typeprovides the ability to write all capacitor, resistor, and filter data members to a formatted text file and allows the user to name the fileprovides the ability to read all capacitor, resistor, and filter data members from a formatted text file and allows the user to enter the file name and correctly handles a file-not-found errorSTEP 3: Test-Program OperationAll data-input and data-display operations (cin and cout) should be done in the function main() test program.The test program should instantiate at least one object of the class Filter.The user should enter values for all the data members of the Filter, Resistor, and Capacitor classes.The Filter class should then calculate and display the correct maximum and minimum cutoff frequencies.The test program should then display all Filter, Resistor, and Capacitor data members.Example Code: ( This example code is for all the file in the project it will be split over 7 diffent filess)#include #include using namespace std;class CResistor{private:double nominalValue;double tolerance;double minimumValue;double maximumValue;public:CResistor() {nominalValue = 100;tolerance    = 10;computeResistorLimits();}void computeResistorLimits() {minimumValue = nominalValue*(1-tolerance/100);maximumValue = nominalValue*(1+tolerance/100);}void enterResistor() {cout<<'Please enter value of resistance'<>nominalValue;cout<<'Please enter tolerance of resistor (i.e. 10 for 10% tolerance)'<>tolerance;computeResistorLimits();}void displayResistor() {cout<>nominalValue;cout<<'Please enter tolerance of capacitor (i.e. 10 for 10% tolerance)'<>tolerance;computeCapacitorLimits();}void displayCapacitor() {cout<