OO思想现在已经在软件开发项目中广泛应用,其中最重要的一个特性就是继承,最近偶简单的学习了下在设计模式中涉及到继承这个特性时,所需要用到的关键字,其中有一些关键点,特地整理出来。
一、New
在C#中,new这个关键字使用频率非常高,主要有3个功能:
a) 作为运算符用来创建一个对象和调用构造函数。
b) 作为修饰符。
c) 用...
分类:
其他好文 时间:
2014-05-01 22:17:38
阅读次数:
303
javaScript会在调用时会设置执行上下文“this”的值。
一些使用错误的例子
我们举一个例子,给一个Menu构造函数,用来接受一个元素来创建一个菜单。
function Menu(elem){
//...
}
//使用
var elem = document.getElementById('something') // a DOM element
var menu =...
分类:
编程语言 时间:
2014-05-01 17:40:31
阅读次数:
312
代码如下
#include
#include
#include
using namespace std;
template
class Base
{
public:
Base(T name);
virtual void toString();
protected:
T id;
};
template
Base::Base(T n)
{
printf("B...
分类:
编程语言 时间:
2014-04-30 22:27:39
阅读次数:
450
this()用法:
一个构造函数可以使用this()来调用同一个类的另外一个构造函数。
一个构造函数最多只能调用一次this(),且this()只能作为构造函数的第一条语句。
super()用法:
一个构造函数使用super()来调用父类的构造函数。
如果没有为一个类编写构造函数,则编译器会自动构造一个不带参数的构造函数,且构造函数中只有一条语句super();。
如果为一个类...
分类:
编程语言 时间:
2014-04-30 22:25:39
阅读次数:
290
C++ Primer Plus学习笔记之拷贝构造函数
1,什么是拷贝构造函数
拷贝构造函数有两个含义:
首先,它是一个构造函数,当创建一个新对象时,系统自动调用它;
其次,它将一个已经定义过的对象的数据成员逐一对应的复制给新对象;
如果一个类没有显式定义拷贝构造函数,C++编译器可以为该类产生一个缺省的拷贝构造函数。这个缺省的拷贝构造函数采用C的方式,将拷贝对象的内存一个字节一个字节的拷...
分类:
编程语言 时间:
2014-04-30 22:24:39
阅读次数:
537
首先,做一个最简单的实验,在电脑上运行下面的代码,将会产生运行错误,这或许会使你百思不得其解:
#include
using namespace std;
class Base
{
private:
int a;
public:
~Base(){cout << "Base dtor..." << endl;}
};
class Derived : public Base
{...
分类:
其他好文 时间:
2014-04-29 13:48:21
阅读次数:
357
gcc g++编译时警告: "xxxx" 将随后被初始化:
这个问题的原因是在构造函数里,如果你在构造函数中初始化变量时,用的是初始化列表的方式,则初始化列表中的成员变量初始化顺序要和类定义时的变量顺序一致。...
分类:
其他好文 时间:
2014-04-29 13:48:19
阅读次数:
436
C++ 中构造函数可否是虚函数?
绝不要!!
而且,在构造函数中调用虚函数也是不提倡的行为,因为会引发预想不到的结果。
因为,在 derived class 对象构造的过程中,首先调用的是基类的构造函数,等基类构造结束,才开始构造派生类的部分。
这个过程中,编译器将该对象视为 基类,而非派生类(因为,派生类对象的专属部分还未初始化!!!)
所以,如果在构造函数中调...
分类:
编程语言 时间:
2014-04-29 13:47:22
阅读次数:
258