Write a class called Pet that contains an animal’s name, type, and weight. Include a default constructor and destructor for the class. C++ Programming

C++ Programming Assignment 6

Dynamic Pets

The objective of this lab is to demonstrate dynamic allocation and deallocation of memory.


Write a class called Pet that contains an animal’s name, type, and weight.  Include a default constructor and destructor for the class.  The constructor should print out the following message:  “Creating a new pet”.  The destructor should print out the following message:  “In the Pet destructor.”  Include appropriate get/set functions for the class.

In main(), prompt the user to enter the number of pets in his or her household.  Dynamically create a built-in array based on this number (not a vector or object of the array class) to hold pointers to Pet objects.

Construct a loop in main() that executes once for each of the number of pets that the user indicated.  Within this loop, ask the user to enter the name and type of pet.  Using a random number generator, generate a weight between 1-100 pounds. Seed this random number generator with 100.  Next, dynamically create a Pet object (remember that this requires the use of the “new” keyword which returns a pointer to the location in memory where this pet object was created.)  Create each object using the default constructor of the class, and call the set functions to store the name, type, and weight of each pet.  Store each Pet pointer in the array.

After all of the pet objects have been constructed and added to the array, print out the contents of the array.

Because the program uses dynamic memory to store the array as well as the objects in the array, be sure to de-allocate all of the memory before exiting.

A sample of the program running is shown below:

To give you an idea of the general criteria that will be used for grading, here is a checklist that

you might find helpful:

Executes without crashing   Appropriate Internal Documentation  Pet Class       Data members: name, type, weight       Constructor/destructor       Getters/setters as appropriate  Main:  The following items must be implemented in main() or by functions called from main()   They must not be implemented in the Pet class       Prompts user for the number of pets       Creates the pet array using dynamic memory allocation       Dynamically creates a pet object       Generates a random weight (between 1-100 inclusive) for each pet       Seed is 100       Prints contents of array as illustrated in diagram       De-allocates memory (both the array and the contents of the array) before exiting  Style:       Modular design, no global variables, etc. 

C++ Programming Assignment 7




You are working for a financial advisor who creates portfolios of financial securities for his clients.  A portfolio is a conglomeration of various financial assets, such as stocks and bonds, that together create a balanced collection of investments.

When the financial advisor makes a purchase of securities on behalf of a client, a single transaction can include multiple shares of stock or multiple bonds.

For example:

Client-A purchases 100 shares of IBM $1 par value common stock on Jan. 20, 2020, for a total purchase price of $10,000 USD. Dividends for the year have been declared at $5 per share of common.

Client-A purchases 5 bonds is1sued by Intel Corporation with a face value of $1000 per bond and a stated interest rate of 7.5% on Jan 3, 2020, for a total purchase price of $5,000 USD.  The bonds mature on Dec. 31, 2025.

It is your job to create an object-oriented application that will allow the financial advisor to maintain the portfolios for his/her clients.  You will need to create several classes to maintain this information:  Security, Stock, Bond, Portfolio, and Date.

The characteristics of stocks and bonds in a portfolio are shown below:

Stocks:                              Bonds:

Purchase date (Date)                       Purchase date (Date)

Purchase price (double)                    Purchase price (double)

Quantity purchased  (int)                  Quantity purchased (int)

Ticker symbol (string)                          Issuer (string)

Par value (int)                            Face value (int)

Stock type (i.e. Common or Preferred) (enum)    Stated interest rate (double)

Dividends per share (double)                    Maturity date (Date)

Several of the data members above require the use of dates.  Strings will not be acceptable substitutes for date fields.

C++ does not have a built in data type for Date.  Therefore, you may use this Date class in your program:

#pragma once

#include <iostream>

#include <cstdlib>

#include <cctype>

class Date{

friend std::ostream& operator<<(std::ostream&, Date);


     Date(int d=0, int m=0, int yyyy=0)   {

           setDate(d, m, yyyy);


     ~Date() {}

     void setDate(int  d, int m, int yyyy){

           day = d;

           month = m;

           year = yyyy;



     int day;

     int month;

     int year;


std::ostream& operator<<(std::ostream& output, Date d){

     output << d.month << "/" << d.day << "/" << d.year;

     return output;



Security class (base class)

The class should contain data members that are common to both Stocks and Bonds.

Write appropriate member functions to store and retrieve information in the member variables above.  Be sure to include a constructor and destructor.

Stock class and Bond class. (derived classes)

Each class should be derived from the Security class. Each should have the member variables shown above that are unique to each class.

Each class should contain a function called calcIncome that calculates the amount a client receives as dividend or interest income for each security purchase.  Note that the calcIncome algorithm has been simplified for this assignment.  In real life, interest is paid on most bonds semi-annually, and dividends are declared by a company once per year.  In our example, we are assuming that dividends are known at the time of the stock purchase and are not subject to change.  We are also assuming an annual (as opposed to semi-annual) payment of interest on bonds. 

To calculate a stock puchase’s dividend income, use the following formula:  income  =  dividends per share * number of shares.  To calculate a bond purchase’s annual income, use this formula:  income = number of bonds in purchase *  the face value of the bonds * the stated interest rate. 

In each derived class, the << operator should be overloaded to output, neatly formatted, all of the information associated with a stock or bond, including the calculated income.

The < operator should also be overloaded in each derived class to enable sorting of the vectors using the sort function.  This function is part of the <algorithm> library.

Write member functions to store and retrieve information in the appropriate member variables.  Be sure to include a constructor and destructor in each derived class.

Design a Portfolio class

The portfolio has a name data member.

The class contains a vector of Stock objects and a vector of Bond objects.

There is no limit to the number of Stock and Bond puchases that can be added to a portfolio.

The Portfolio class should support operations to purchase stocks for the portfolio, purchase bonds for the portfolio, or list all of the items in the portfolio (both stocks and bonds).


You should write a main() program that creates a portfolio and presents a menu to the user that looks like this:

_“S” should allow the user to record the purchase of some stocks and add the purchase to the Stocks list.  Likewise, “B” should allow the user to record the purchase of some bonds and add the purchase to the Bonds list.  “L” should list all of the securities in the portfolio, first displaying all of the Stocks, sorted by ticker symbol, followed by all of the bonds, sorted by issuer.  The user should be able to add stocks, add bonds, and list repeatedly until he or she selects “Q” to quit.


Instructions Files

C++ Programming Experts

Dinh Hong P.
C++ Programming

20 Answers

Eric Bell
C++ Programming

88 Answers

View More Experts

The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.

Get Free Quote!

269 Experts Online