前言 标题一看似乎是非常直观简单,没必要特别写下一篇随便记录。 然而,在实际开发中,你会发现做到这一点对于经验不足的 C++ 程序员来说绝对是一个挑战。 要做到复制每一个成分,就一定小心下面说到的两点。第一点:类中新增了成员变量之后,需要在自定义的构造函数,析构函数,赋值运算符重载函数,拷贝构...
分类:
其他好文 时间:
2014-08-30 17:41:39
阅读次数:
222
如果要自己定义STL容器的元素类最好满足STL容器对元素的要求 必须要求: 1、Copy构造函数 2、赋值=操作符 3、能够销毁对象的析构函数 另外: 1、可用的缺省构造函数,序列型容器必须,用于初始化元素 2、==操作符定义,用于判断相等 3、 #include #include using n....
分类:
其他好文 时间:
2014-08-26 17:02:16
阅读次数:
201
HTML 事件处理程序: 缺点:html 和 js 耦合性太高 (如果改动方法名 那么就要改HTML 代码和JS代码 ) 优点: 兼容性强1 Dome 0 级事件处理程序: 把函数赋值给一个事件的属性。 简单,跨浏览器 1 var btn2 = document.getElementByI...
分类:
编程语言 时间:
2014-08-15 01:28:56
阅读次数:
258
转自:http://blog.csdn.net/lwbeyond/article/details/6202256对于一个空类,编译器默认生成四个成员函数:默认构造函数、析构函数、拷贝构造函数、赋值函数;一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a....
分类:
编程语言 时间:
2014-08-12 17:01:54
阅读次数:
317
final 是修饰符,可以用于修饰变量、方法和类。修饰变量时,代表变量不可以修改,也就是常量了,常量需要在定义时赋值或通过构造函数赋值,两者只能选其一;修饰方法时,代表方法只能调用,不能被 override ;修饰类时,代表类不能够派生出子类,所以一个类不能既是 final 又是 abstract;
finally 是异常处理机制中的 try 的从句,用于处理必要的清理工作,那怕执行的 ...
分类:
编程语言 时间:
2014-07-29 21:53:32
阅读次数:
291
设计String类
//C++ 设计String类:构造函数,拷贝构造函数,析构函数,赋值函数
#include
using namespace std;
class String
{
public:
String(const char *str=NULL);
String(const String&another);
~String();
String&operator=(cons...
分类:
编程语言 时间:
2014-07-26 02:59:16
阅读次数:
383
noncopyable大家都知道定义一个空类的时候,它实际包含了构造函数,拷贝构造函数,赋值操作符和析构函数等。这样就很容易产生一个问题,就是当用户调用Aa(“^_^")或者Ac="^_^" 时会发生一些意想不到的行为,所以很多时候我们需要禁用这样的用法。一种方法就是把拷贝构造函数和赋值操作符显式的...
分类:
编程语言 时间:
2014-07-24 04:58:18
阅读次数:
300
#ifndef QUEUE_HPP
#define QUEUE_HPP
#include
#include
template class Queue;
template
class Node{
friend class Queue;
public:
Node(T data = 0, Node *next = NULL)
:data...
分类:
其他好文 时间:
2014-07-23 00:05:17
阅读次数:
338
C++ 复制函数
说道C++复制函数,大家也许并不陌生,就是类中的拷贝构造函数和赋值操作符,但是事实上也许我们一不小心就会忽略编译器所做的一些默认操作。引起晦涩的错误。下面分析几种场景:
一、场景一:全部默认
#include
class base{
public:
base(){}
base(int dt):data(dt){}
void get(){pri...
分类:
编程语言 时间:
2014-07-20 22:45:53
阅读次数:
341
假设有一个如下的MyClass类:
class MyClass
{
public:
//构造函数
//拷贝构造函数
MyClass(const MyClass& that)
: int_data_(that.int_data_),
dbl_data_(that.dbl_data_),
str_data_(that.str_data_)
{
}
//赋值操作符
M...
分类:
其他好文 时间:
2014-07-19 23:46:08
阅读次数:
350