⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defmeths.cpp

📁 Since the field of object oriented programming is probably new to you, you will find that there is a
💻 CPP
字号:
                             // Chapter 6 - Program 10 - DEFMETHS.CPP
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
                            
class defaults 
{
   int size;         // A simple stored value
   char *string;     // A name for the stored data
public:
      // This overrides the default constructor
   defaults(void);
   
      // This overrides the default copy constructor
   defaults(defaults &in_object);
      
      // This overrides the default assignment operator
   defaults &operator=(defaults &in_object);
      
      // This destructor should be required with dynamic allocation
   ~defaults(void);
      
      // And finally, a couple of ordinary methods
   void set_data(int in_size, char *in_string);
   void get_data(char *out_string);
};

defaults::defaults(void)
{
   size = 0;
   string = new char[2];
   strcpy(string, "");
}

defaults::defaults(defaults &in_object)
{
   size = in_object.size;
   string = new char[strlen(in_object.string) + 1];
   strcpy(string, in_object.string);
}

defaults &defaults::operator=(defaults &in_object)
{
   delete [] string;
   size = in_object.size;
   string = new char[strlen(in_object.string) + 1];
   strcpy(string, in_object.string);
   return *this;
}

defaults::~defaults(void)
{
   delete [] string;
}

void defaults::set_data(int in_size, char *in_string)
{
   size = in_size;
   delete [] string;
   string = new char[strlen(in_string) + 1];
   strcpy(string, in_string);
}                                             



void defaults::get_data(char *out_string)
{
char temp[10];

   strcpy(out_string, string);
   strcat(out_string, " = ");
   _itoa(size, temp, 10);
   strcat(out_string, temp);
}

int main()
{
char buffer[80];
defaults my_data;

   my_data.set_data(8, "hat size");
   my_data.get_data(buffer);
   cout << buffer << "\n\n";

defaults more_data(my_data);
   more_data.set_data(12, "shoe size");
   my_data.get_data(buffer);
   cout << buffer << "\n";
   more_data.get_data(buffer);
   cout << buffer << "\n";

   my_data = more_data;
   my_data.get_data(buffer);
   cout << buffer << "\n";
   more_data.get_data(buffer);
   cout << buffer << "\n";

   return 0;
}
 
 

// Result of execution
//
// hat size = 8
//
// hat size = 8
// shoe size = 12
//
// shoe size = 12
// shoe size = 12

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -