自定义一个String类型,该类包含一个指向字符串的指针和一个统计对象数量的计数器.
代码如下:
//string.h
#pragma once
//String类型
#include <iostream>
using namespace std;
class String
{
private:
char* m_str;//保存字符串的地址
static int num_strings;//创建的对象数量
public:
String(const char* str = NULL);//构造函数
~String();//析构函数
String(const String& s);//拷贝构造函数
String& operator=(const String& s);//=重载函数
friend ostream& operator<<(ostream & os,const String &s);//重载<<
};
//string.cpp
#define _CRT_SECURE_NO_WARNINGS
#include "string.h"
#include <cstring>
int String::num_strings = 0;//类中的变量
String::String(const char* str)//构造函数
{
if (str == NULL)
{
m_str = new char[strlen("趣字节") + 1];
strcpy(m_str,"趣字节");
}
else
{
m_str = new char[strlen(str) + 1];
strcpy(m_str,str);