一、平凡的定义
1.有平凡的构造函数
2.有平凡的拷贝构造函数
3....
分类:
编程语言 时间:
2014-06-30 10:47:02
阅读次数:
160
1.友元函数
(1)友元函数是定义在一个类外的普通函数。
友元函数和普通函数的定义一样;在类内必须将该普通函数声明为友元。
(2)友元函数不是成员函数。
不能通过对象来调用,而是直接调用;友元函数可以访问类的公有、受保护以及私有成员,但是必须通过对象、对象指针或者对象引用来访问。
2.友元函数的声明
friend 返回值类型 函数名(参数表);
在类中只需要将这个声明放置在公有部分即...
分类:
编程语言 时间:
2014-06-30 06:29:31
阅读次数:
190
本例只是对含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、复制运算符使用方法的一个简单示例,以加深对构造函数和拷贝控制成员的理解。
读C++ primer 5th 第13章后加上自己的理解,完整的写了下课后习题的代码。
第一版:
#include
#include
using namespace std;
class TreeNode{
private:
stri...
分类:
编程语言 时间:
2014-06-28 07:13:13
阅读次数:
296
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=100;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private:...
分类:
编程语言 时间:
2014-06-26 22:30:39
阅读次数:
306
编写类String 的构造函数、析构函数和赋值函数,已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String &other); // 拷贝构造函数~ String(v...
分类:
其他好文 时间:
2014-06-22 23:31:22
阅读次数:
212
单件模式:
单件模式即在整个应用程序中只有一个类实例且这个实例所占资源在整个应用程序中是共享的。
单件模式的C++实现(构造函数、拷贝构造函数、赋值操作符均需重写):
#include
class CSingleton
{
private:
CSingleton()
{
std::cout<<"Singleton Constructed."<<std:...
分类:
编程语言 时间:
2014-06-10 18:22:16
阅读次数:
258
1.构造函数:
构造函数是一个特殊的、与类同名的成员函数,用于给每个成员设置适当的初始值。
构造函数不能有返回值,函数名为类名。
缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空。缺省构造函数是不带参数的。
创建一个对象时,系统自动调用构造函数。
总结:
1.构造函数可以重载...
分类:
编程语言 时间:
2014-06-10 14:27:33
阅读次数:
300
1.赋值运算符
先以赋值运算符引入后面要说的运算符重载,上一节说了构造函数、拷贝构造函数;一个类要想进行更好的控制,需要定义自己的构造函数、拷贝构造函数、析构函数、当然,还有赋值运算符。常说的三大函数就是指拷贝、赋值、析构。
如果一个类不定义自己的赋值运算符,会自己生成一个默认的赋值运算操作,这个默认的赋值运算满足一般类的需求。但是当类的功能、作用逐渐完善时,就...
分类:
编程语言 时间:
2014-06-10 10:50:06
阅读次数:
235
1: Java中浅拷贝和深拷贝的定义:
浅拷贝:就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象。
深拷贝:就是两个对象的值相等,但是互相独立。
(深拷贝才是真正的拷贝,浅拷贝只是将引用指向了同一份对象)
2:Java中几种常见的拷贝操作:
(1)“=”操作:也就是赋值操作;
(2)拷贝构造函数:拷贝构造函数就是构造函数的参数的类型是该构造...
分类:
编程语言 时间:
2014-06-04 22:54:51
阅读次数:
328
拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的形参必须是引用,但并不限制为const,一般普遍的会加上const限制。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量...
分类:
其他好文 时间:
2014-05-29 00:01:47
阅读次数:
378