
(CarbonFootprint Abstract Class: Polymorphism) Using an abstract class with only pure virtual functions, you can specify similar behaviors for possibly disparate classes. Governments and
companies worldwide are becoming increasingly concerned with carbon footprints (annual releases
of carbon dioxide into the atmosphere) from buildings burning various types of fuels for heat, vehicles burning fuels for power, and the like. Many scientists blame these greenhouse gases for the phenomenon called global warming. Create three small classes unrelated by inheritance—classes
Building, Car and Bicycle. Give each class some unique appropriate attributes and behaviors that
it does not have in common with other classes. Write an abstract class CarbonFootprint with only
a pure virtual getCarbonFootprint method. Have each of your classes inherit from that abstract class
and implement the getCarbonFootprint method to calculate an appropriate carbon footprint for
that class (check out a few websites that explain how to calculate carbon footprints). Write an application that creates objects of each of the three classes, places pointers to those objects in a
of CarbonFootprint pointers, then iterates through the vector, polymorphically invoking each object’s getCarbonFootprint method. For each object, print some identifying information and the object’s carbon footprint.

Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 1 images

- Making sure that encapsulation is not violated (i.e., instance variables must be private); design an inheritance hierarchy of classes Car, Truck, and Vehicle based on the following description. Car is a Vehicle. Truck is a Vehicle. (a) Definition of class Vehicle Instance variables: year that holds the year of vehicle (int) make that holds the make of vehicle (string) Methods: a default constructor with no arguments. a second constructor that accepts the Vehicle's year and the make as arguments. These values should be assigned to the object's instance variables: year and make. A copy constructor that accepts an existing vehicle object reference as argument and copies the values of instance variables to the newly created object. Accessor methods (getYear() and getMake()) that get the values of instance variables. Mutator methods (setYear(int) and setMake(String)) that set the values of instance variables. toString() should return a…arrow_forwardInstructions-Java Assignment is to define a class named Address. The Address class will have three private instance variables: an int named street_number a String named street_name and a String named state. Write three constructors for the Address class: an empty constructor (no input parameters) that initializes the three instance variables with default values of your choice, a constructor that takes the street values as input but defaults the state to "Arizona", and a constructor that takes all three pieces of information as input Next create a driver class named Main.java. Put public static void main here and test out your class by creating three instances of Address, one using each of the constructors. You can choose the particular address values that are used. I recommend you make them up and do not use actual addresses. Run your code to make sure it works. Next add the following public methods to the Address class and test them from main as you go: Write getters and…arrow_forwardSingle responsibility (from our SOLID principles) means that classes must implement only ONE method. In other words, a class defining multiple methods breaks the SOLID guidelines A) True B) Falsearrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





