Suggestions
Use up and down arrows to review and enter to select.Please wait while we process your payment
If you don't see it, please check your spam folder. Sometimes it can end up there.
If you don't see it, please check your spam folder. Sometimes it can end up there.
Please wait while we process your payment
By signing up you agree to our terms and privacy policy.
Don’t have an account? Subscribe now
Create Your Account
Sign up for your FREE 7-day trial
Already have an account? Log in
Your Email
Choose Your Plan
Individual
Group Discount
Save over 50% with a SparkNotes PLUS Annual Plan!
Purchasing SparkNotes PLUS for a group?
Get Annual Plans at a discount when you buy 2 or more!
Price
$24.99 $18.74 /subscription + tax
Subtotal $37.48 + tax
Save 25% on 2-49 accounts
Save 30% on 50-99 accounts
Want 100 or more? Contact us for a customized plan.
Your Plan
Payment Details
Payment Summary
SparkNotes Plus
You'll be billed after your free trial ends.
7-Day Free Trial
Not Applicable
Renews May 3, 2024 April 26, 2024
Discounts (applied to next billing)
DUE NOW
US $0.00
SNPLUSROCKS20 | 20% Discount
This is not a valid promo code.
Discount Code (one code per order)
SparkNotes PLUS Annual Plan - Group Discount
Qty: 00
SparkNotes Plus subscription is $4.99/month or $24.99/year as selected above. The free trial period is the first 7 days of your subscription. TO CANCEL YOUR SUBSCRIPTION AND AVOID BEING CHARGED, YOU MUST CANCEL BEFORE THE END OF THE FREE TRIAL PERIOD. You may cancel your subscription on your Subscription and Billing page or contact Customer Support at custserv@bn.com. Your subscription will continue automatically once the free trial period is over. Free trial is available to new customers only.
Choose Your Plan
For the next 7 days, you'll have access to awesome PLUS stuff like AP English test prep, No Fear Shakespeare translations and audio, a note-taking tool, personalized dashboard, & much more!
You’ve successfully purchased a group discount. Your group members can use the joining link below to redeem their group membership. You'll also receive an email with the link.
Members will be prompted to log in or create an account to redeem their group membership.
Thanks for creating a SparkNotes account! Continue to start your free trial.
We're sorry, we could not create your account. SparkNotes PLUS is not available in your country. See what countries we’re in.
There was an error creating your account. Please check your payment details and try again.
Please wait while we process your payment
Your PLUS subscription has expired
Please wait while we process your payment
Please wait while we process your payment
It will often be convenient to use the same function name twice. Suppose, for instance, that you have a function that returns the volume of a box, given the three sides:
and that you also want to have a similar function compute the same thing, except for floating point values:
Because C++ allows function overloading, you are allowed to have functions sharing the same name like this. As long as the return type or the argument types of the two functions are different, you can have as many different versions of a function as you need. Keep in mind while programming that you should always keep it clear which overloaded function you are using.
You can also create a function with the same name and return type, but with a different number of arguments:
This function has the same name and return type, but it has only 2 arguments instead of 3. A better way to achieve the same effect is to use default arguments. If you know that z is usually equal to 1, but still want the freedom to specify it as needed, include a default value for z:
Then you can call the volume function with or without a third argument. You can have as many default arguments as you want, as long as they are all at the end of the argument list. In addition you cannot "skip" a default argument when you call a function. Consider the following definition:
When you call the volume function, you cannot specify only x and z (hence skipping over y) because it will look to the compiler like you are specifying x and y.
An even better way to handle the different volume functions is to create a function template. It would get awfully repetitive to type out many times what amounts to the same function for different data types. C++ lets you define functions that are not specific to a data type. Consider a template to create functions that will return the lesser of two arguments of any data type:
You can replace "your_type" with almost any name you choose. After defining a function template, you can then simply call the function with arguments of any data type, as long as you are consistent:
By creating such a template, you are essentially creating as many functions as there are data types, and in a neat and concise manner. You can also have multiple unspecified data types within one function:
By arranging a template in this manner, the programmer can use two arbitrary data types, called type1 and type2 in the function template definition, as arguments to exp(). Note the use of recursion.
Please wait while we process your payment