编写类String 的构造函数,析构函数和赋值函数

问题描述

编写类String的构造函数,析构函数和赋值函数已知类String的原型为classstring{public:string(constchar*str=null);//普通构造函数string(conststring&other);//拷贝构造函数---string(void);string&operate=(conststring&other);//赋值函数private:char*m-data;//用于保存字符串};请编写string的上述4个函数在线等....

解决方案

解决方案二:
该回复于2009-08-07 08:17:45被版主删除

时间: 2024-09-20 08:12:58

编写类String 的构造函数,析构函数和赋值函数的相关文章

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(4)

类String的赋值函数比构造函数复杂得多,分四步实现: (1)第一步,检查自赋值.你可能会认为多此一举,难道有人会愚蠢到写出 a = a 这样的自赋值语句!的确不会.但是间接的自赋值仍有可能出现,例如 // 内容自赋值 b = a; - c = b; - a = c; // 地址自赋值 b = &a; - a = *b; 也许有人会说:"即使出现自赋值,我也可以不理睬,大不了化点时间让对象复制自己而已,反正不会出错!" 他真的说错了.看看第二步的delete,自杀后还能复制自

复制构造函数 与 赋值函数 的区别

构造函数.析构函数.赋值函数是每个类最基本的的函数.每个类只有一个析构函数和一个赋值函数.但是有很多构造函数(一个为复制构造函数,其他为普通构造函数.对于一个类A,如果不编写上述四个函数,c++编译器将自动为A产生四个默认的函数,即: A(void)                                    //默认无参数构造函数 A(const A &a)                         //默认复制构造函数 ~A(void);                   

C++赋值函数详解

赋值函数        每个类只有一个赋值函数         由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视.  1,如果不主动编写拷贝构造函数和赋值函数,编译器将以"位拷贝"的方式自动生成缺省的函数.倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误.               以类String的两个对象a,b为例,假设a.m_data的内容为"hello",b.m_data的内容为"world".  

【C/C++学院】(6)构造函数/析构函数/拷贝构造函数/深copy浅copy

1.构造函数     类的初始化即为构造函数.也为:隐式的初始化. 构造函数在对象初始化的时候,自动被调用.隐式的调用. 构造函数分为三种:有参构造函数.无参构造函数.拷贝构造函数. 有参构造函数调用有三种:括号法.等号法.手工法. #include <iostream> using namespace std; class Test { private: int m_a; public: Test()//无参构造函数 { } Test(const Test &obj)//拷贝构造函数

C++中复制构造函数和重载赋值操作符总结_C 语言

前言 这篇文章将对C++中复制构造函数和重载赋值操作符进行总结,包括以下内容: 1.复制构造函数和重载赋值操作符的定义: 2.复制构造函数和重载赋值操作符的调用时机: 3.复制构造函数和重载赋值操作符的实现要点: 4.复制构造函数的一些细节. 复制构造函数和重载赋值操作符的定义 我们都知道,在C++中建立一个类,这个类中肯定会包括构造函数.析构函数.复制构造函数和重载赋值操作:即使在你没有明确定义的情况下,编译器也会给你生成这样的四个函数.例如以下类: 复制代码 代码如下: class CTes

简单看看这两个类 String和StringBuilder

我记得以前在园子里面讨论这两个类的文章有很多很多,并且还拿出了很多的测试报告,在什么情况下,谁比谁快,在什么情况下,该用谁 不该用谁等等这些,我这里就不比较了,我就简单看看他们里面的内部实现,那就先看看String吧.   一:String类 说到String类,资料上都说是存在于堆上的一个不可CURD的一个不可变的字符集,当然看到这句话之后就想要看看是不是这样的,然后就 好奇的写了以下代码. class Program { static void Main(string[] args) { s

跟老齐学Python之编写类之二方法_python

数据流转过程 除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子: 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 class Person:     def __init__(self, name, lang="golang", website="www.google.com"):         self.name = name         self.lang = lang         s

跟老齐学Python之编写类之一创建实例_python

说明:关于类的这部分,我参考了<Learning Python>一书的讲解. 创建类 创建类的方法比较简单,如下: 复制代码 代码如下: class Person:  注意,类的名称一般用大写字母开头,这是惯例.当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦.既然大家都是靠右走的,你就别非要在路中间睡觉了. 接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数. 复制代码 代码如下: class Person:     def __in

类 String详细用法小结

所有已实现的接口: Serializable, CharSequence, Comparable<String> public final class String extends Objectimplements Serializable, Comparable<String>, CharSequence String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓