First question: Account class
Title Description
Defines a base class account with a data member containing the String class variable username used to hold the name of the owner, the function member includes the default constructor, the parameter constructor is used to initialize the data member, and the Member letter Printname () that outputs the name. Derive the Creditaccount class from the account class and increase the integer data member credits used to record the user credit limit, the function member includes the member function Printinfo () that is used to initialize the data member and output account information with the parameter constructor. Requirement: the member function printname () of the base class needs to be called in the function Printinfo (). Populate the following code:
#include <iostream>#include<string>using namespacestd; classAccount {stringUserName; Public: Account () {}; Account (stringname); voidPrintusername (); }; classCreditaccount: PublicAccount { Public: Creditaccount (stringNameintCredit ); voidPrintinfo (); Private: intCredit ; }; //please implement account constructor account (char *name)//please implement the Printusername () function of account//please implement the constructor of the Creditaccount class Creditaccount (char* name, long number)//please implement the Printinfo () function of the Creditaccount class intMain () {Creditaccount A ("I Love CPP",10000); A.printinfo (); return 0; }
Enter a description
No
Output description
Output a total of two lines, first Action Account name, second act account credit limit
Sample input
No
Sample output
I Love CPP10000
#include <iostream>#include<string>using namespacestd;classaccount{stringUserName; Public: Account (stringname): UserName (name) {UserName=name; } //Account (string name); voidPrintusername () {cout<< UserName <<Endl; }};classCreditaccount: Publicaccount{ Public: Creditaccount (stringNameLongNumber ): Account (name), credit (number) {}voidPrintinfo () {printusername (); cout<< Credit <<Endl; }Private: LongCredit ;};intMain () {Creditaccount A ("I Love CPP",10000); A.printinfo (); return 0;}
Second question: Multiple inheritance
Title Description
The following code declares three base classes, Base1, Base2, and Base3, and then derives the class derived from the three base classes in public form. In each class, you define a constructor with an integer parameter and a destructor output hint, and the constructor's hint information needs to contain the numeric value of the integral type parameter. Please complete the following code so that the output is the same as the sample output, note: There are several sets of test data.
#include <iostream>using namespacestd; classBase1 { Public: Base1 (intx); ~Base1 (); }; classBase2 { Public: Base2 (intx); ~Base2 (); }; classBASE3 { Public: Base3 (intx); ~Base3 (); }; classDerived://inherit the above 3 classes { Public: Derived (intX1,intX2,intX3,intx4); ~Derived (); }; Base1::base1 (intx) {cout<<"Base1 Constructor called"<<x<<Endl; } BASE1::~Base1 () {cout<<"Base1 destructor called"<<Endl; } //implement constructors and destructors for other classes according to the code in the Base1 class intMain () {intx[4]; for(inti =0; I <4; ++i) Cin>>X[i]; Derived D (x[0], x[1], x[2], x[3]); return 0; }
Enter a description
Each set of inputs is 4 integers separated by a space
Output description
Output based on the invocation order of the construction and destructor functions
Sample input
1 2 3 4
Sample output
Base2 constructor called 3base1 constructor called 2base3 constructor called 4Derived constructor called 1Derived destruct or CalledBase3 destructor CalledBase1 destructor CalledBase2 destructor called
#include <iostream>using namespacestd;classbase1{ Public: Base1 (intx); ~Base1 ();};classbase2{ Public: Base2 (intx); ~Base2 ();};classbase3{ Public: Base3 (intx); ~Base3 ();};classDerived: PublicBase2, PublicBASE1, Publicbase3{ Public: Derived (intX1,intX2,intX3,intx4): Base1 (x2), Base2 (x3), BASE3 (x4) {cout<<"Derived Constructor called"<<x1<<Endl; } ~Derived () {cout<<"Derived destructor called"<<Endl; }}; Base1::base1 (intx) {cout<<"Base1 Constructor called"<<x<<Endl;} BASE1::~Base1 () {cout<<"Base1 destructor called"<<Endl;} Base2::base2 (intx) {cout<<"Base2 Constructor called"<<x<<Endl;} BASE2::~Base2 () {cout<<"Base2 destructor called"<<Endl;} BASE3::BASE3 (intx) {cout<<"Base3 Constructor called"<<x<<Endl;} BASE3::~Base3 () {cout<<"Base3 destructor called"<<Endl;}intMain () {intx[4]; for(inti =0; I <4; ++i) Cin>>X[i]; Derived D (x[0], x[1], x[2], x[3]); return 0;}
Academy Online tsinghuax:00740043_2x C + + Language programming advanced Seventh Chapter Lab