- 浏览: 133042 次
-
文章列表
静态成员是指声明为static的类的成员在类的范围内所有对象共享某个数据。友元是一种定义在类外部的普通函数,但它需要在类的内部进行说明,为了与该类的成员函数加以区别,在说明时前面加上关键字friend。友元不是成员函 ...
- 2011-11-04 00:36
- 浏览 293
- 评论(0)
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。
关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。
当然,相同的文章在网上也出现过一些了,但我总感觉这些文章不是很容易阅读,大段大段的代码,没有图 ...
- 2011-11-04 00:34
- 浏览 698
- 评论(0)
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。
关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。
当然,相同的文章在网上也出现过一些了,但我总感觉这些文章不是很容易阅读,大段大段的代码,没有图 ...
- 2011-11-04 00:34
- 浏览 329
- 评论(0)
摘要】:本文阐述了静态联编和动态联编的概念和区别,通过具体实例分析了实现动态联编的条件,指出了虚函数是实现动态联编的基础。
【关键词】:静态联编;动态联编;虚函数
在C++中,联编是指一个计算机程序的不同部分彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。
1.
静态联编
静态联编是指联编工作在编译阶段完成的,这种联编过程是在程序运行之前完成的,又称为早期联编。要实现静态联编,在编译阶段就必须确定程序中的操作调用(如函数调用)与执行该操作代码间的关系,确定这种关系称为束定,在编译时的束定称为静态束定。静态联编对函数的选择是基于指向对象的 ...
- 2011-11-04 00:29
- 浏览 684
- 评论(0)
摘要】:本文阐述了静态联编和动态联编的概念和区别,通过具体实例分析了实现动态联编的条件,指出了虚函数是实现动态联编的基础。
【关键词】:静态联编;动态联编;虚函数
在C++中,联编是指一个计算机程序的不同部分彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。
1.
静态联编
静态联编是指联编工作在编译阶段完成的,这种联编过程是在程序运行之前完成的,又称为早期联编。要实现静态联编,在编译阶段就必须确定程序中的操作调用(如函数调用)与执行该操作代码间的关系,确定这种关系称为束定,在编译时的束定称为静态束定。静态联编对函数的选择是基于指向对象的 ...
- 2011-11-04 00:29
- 浏览 657
- 评论(0)
昨个儿,一同学打电话问我,这两个名词,事实上,我以前倒没大注意,在课堂的时候听说过一次,后来就再没印象了。缘故是我看的C++语法概念书就那一本:CTPL, 而且上面并未着重提出,这个概念估计是国内的专属吧,概念 ...
- 2011-11-04 00:06
- 浏览 591
- 评论(0)
昨个儿,一同学打电话问我,这两个名词,事实上,我以前倒没大注意,在课堂的时候听说过一次,后来就再没印象了。缘故是我看的C++语法概念书就那一本:CTPL, 而且上面并未着重提出,这个概念估计是国内的专属吧,概念 ...
- 2011-11-04 00:06
- 浏览 482
- 评论(0)
只要学了C++的人,肯定知道静态联编和动态联编,如果你不知道,ok那你学习之路还长。简单的静态联编的东西就不说了。先看下面程序。
class AA{
public:
void result()
{
std::cout << "Surprise?" << std::endl;
};
};
int m ...
- 2011-11-04 00:01
- 浏览 712
- 评论(0)
只要学了C++的人,肯定知道静态联编和动态联编,如果你不知道,ok那你学习之路还长。简单的静态联编的东西就不说了。先看下面程序。
class AA{
public:
void result()
{
std::cout << "Surprise?" << std::endl;
};
};
int m ...
- 2011-11-04 00:01
- 浏览 573
- 评论(0)
++静态数据成员/静态函数成员总结
一、静态数据成员
1.几种错误用法总结
class A
{
static int a;
void test()
{
int b = a;//错误,因为没有定义a,会提示找不到a
}
}
class A
{
static int a = 2;//错误,非const静态数据成员不能在类体 ...
- 2011-11-03 23:00
- 浏览 585
- 评论(0)
++静态数据成员/静态函数成员总结
一、静态数据成员
1.几种错误用法总结
class A
{
static int a;
void test()
{
int b = a;//错误,因为没有定义a,会提示找不到a
}
}
class A
{
static int a = 2;//错误,非const静态数据成员不能在类体 ...
- 2011-11-03 23:00
- 浏览 812
- 评论(0)
类中的静态成员真是个让人爱恨交加的特性。我曾经在面试时,被主考官抓住这个问题一阵穷追猛打,直把我问的面红耳赤,败下阵来。所以回来之后,我痛定思痛,决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。
静态类成员包括静态数据成员和静态函数成员两部分。
一 静态数据成员:
类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点:
1.静态数据成员的定义。
静态数据成员实际上是类域中的全局变量。所以, ...
- 2011-11-03 22:35
- 浏览 506
- 评论(0)
类中的静态成员真是个让人爱恨交加的特性。我曾经在面试时,被主考官抓住这个问题一阵穷追猛打,直把我问的面红耳赤,败下阵来。所以回来之后,我痛定思痛,决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。
静态类成员包括静态数据成员和静态函数成员两部分。
一 静态数据成员:
类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点:
1.静态数据成员的定义。
静态数据成员实际上是类域中的全局变量。所以, ...
- 2011-11-03 22:35
- 浏览 611
- 评论(0)