Illustrate the example of constructor, C/C++ Programming

Assignment Help:

A Constructive Example

Consider an example , to model a user-defined data type for  strings. The object simulates a character array ( string ) using a character pointer and an integer variable for its actual size, which can be explained at its run-time. The object doesn't use a character array , as it may impose a limit on the number of characters that can be stored.

e.g.

# include

# include < string.h>

class string

                 {

                  public :

                                string ( char *s);

                                ~string();

                                void putstr();

                  private :

                                char *cptr;

                                int size;

 };

void main(void)

                 {

                  string s1(" Hello student    \n");

                  string s2 = " Welcome to C++   \n";

                  string s3 = string ( " its fun \n");

 

s1.putstr();

                s2.putstr();

                s3.putstr();

 }

 

string::string(char *s)

                 {

                                size = strlen(s);

                                cptr = new char[size + 1];

                                strcpy(cptr,s);

                 }

string::~string()

                 {

                                delete cptr;

                 }

void string::putstr()

                 {

                                cout << cptr;

                 }

The class explained in the above example contains a character pointer, which allocates memory at run-time, after determining the actual size need. This programme demonstrates the use of class along with the constructor and destructor to make a user defined data type String. The constructor function contains a default argument of null character, which will be assigned to the variable cptr in the absence of an actual parameter. The destructor uses the delete operator to release the memory allocated by the constructor .

 


Related Discussions:- Illustrate the example of constructor

Exceptions handling in cpp, Exceptions. Your SVector class should throw fou...

Exceptions. Your SVector class should throw four exceptions: 3.1. If the constructor size is invalid, then it will just allow the implicit STL bad_alloc exception to pass up to mai

Overloading binary operators, Overloading Binary Operators class SI ...

Overloading Binary Operators class SI {float i,p,n,r,a; public: SI(){}; SI(int gp,int gn, int gr); void putdata(void); SI operator+(SI); }; SI SI::opera

Bank account system, To implement a back account system for new users

To implement a back account system for new users

Explain static variables, Static Variables Static variables have the si...

Static Variables Static variables have the similar scope s automatic variables, but, unlike automatic variables, static variables retain their values over number of function ca

Why php is also known as scripting language, Why PHP is also known as scrip...

Why PHP is also known as scripting language? PHP is fundamentally a general purpose language, which is used to write scripts. Scripts are normal computer files which comprises

Merge sort, Write a program in C language to implement Two-Way Merge Sort. ...

Write a program in C language to implement Two-Way Merge Sort. Input the following data to the program. Show all intermediate steps: 84, 83, 78,90,23,123,98,159,8,200

Assign random integers to the variable, (Random Numbers) Write statements t...

(Random Numbers) Write statements that assign random integers to the variable n in the following ranges: a) 1 ≤ n ≤2 b) 1 ≤ n ≤100 c) 0 ≤ n ≤9 d) 1000 ≤ n ≤1112 e)

Decodethecode, 6999066263304447777077766622337778 -----> message sent by th...

6999066263304447777077766622337778 -----> message sent by the first smuggler. my name is robert---------> message decoded by the second smuggler. Where ‘0’ denotes the "space".

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd