//继承派生中对象相互赋值情况
//派生类的对象可以赋值给基类的对象,这时是把派生类对象中从对应基类中继承来的隐藏对象赋值给基类对象。
//反过来不行,因为派生类的新成员无值可赋。
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
void fun()
{
cout<<"B::fu...
//
// 可以将一个派生类的对象的地址赋给其基类的指针变量,但只能通过这个指针访问派生类中由基类继承来的隐藏对象,
//不能访问派生类中的新成员。同样也不能反过来做。
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
void fun()
{
cout<<"B::fun()"<<...
//派生类对象初始化基类的引用
//引用是别名,但这个别名只能包含派生类对象中的由基类继承来的隐藏对象
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
void fun()
{
cout<<"B::fun()"<<endl;
}
private:
int x;
};
cla...
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。
希望这些能提供给初学者一些参考。
在VC++6.0下可运行,当初还写了不少注释。
【问题描述】
以输入的一组整数作为关键字的值,构造其对应的二叉排序树,并对给点的值在该二叉排序树上进行查找
【基本要求】
·输...
//正确使用虚析构函数
//使用虚析构函数,当delete删除一个对象时,能确保析构函数正确执行(动态)
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
virtual void fun()
{
cout<<"B::fun()"<<endl;
}
virtual ~B()
/...
Flyweight定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。
为什么使用共享模式/享元模式
面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还...
//子类在重写虚函数时,会覆盖父类的函数
#include
using namespace std;
class B
{
public:
B()
{
cout<<"Create B!"<<endl;
}
public:
virtual void fun()
{
cout<<"B::fun()"<<endl;
}
virtual void show()
{
cout<<...
今天总结链栈。
什么是链栈?
链栈就是栈的链式存储结构,就跟单链表差不多。只不过头指针变成了栈顶指针,这个指针总是指向栈顶元素。栈底结点的指针域指向NULL,当top==NULL时,则栈为空.具体实现时,对比着单链表,然后结合图示,很容易就写出来了。
图示:
实现:
#include
using namespace std;
template
struct Node {
...
??
Memcache本身只是一个内存缓存服务器,用来缓存数据以缓解数据库压力,但是我们经常会听到分布工Memcache,那么它是如何实现的呢?在使用Java操作Memcache时,我们通常会借助Java_Memcache来帮助我们完成各项操作, get/set/delete等。下面我们阅读一下Java_Memcache的源码来窥探一二。(注:网上很难找到Java_Memcache最新的...
今天做了Medallia公司的Java面试题,发现用惯了C/C++的我对Java感到异常地不适应,特别是对数据结构在Java中如何使用感到十分头疼。之后决定开始整理并练习Java API里头关于使用数据结构的方法。我发现甲骨文的Java API对每一种数据结构只提供解释但没有提供相关的例子,我觉得这样很不方便,因为大多数时候我们都是通过读例子来学习语料库的用法,这也是我学C++的时候觉得最有用的方法...