有这样一个问题,
有两个类,其中一个是CBase,这个类有如下,通过其派生一个类CDrived,现要求不让CDrived出现在用户的界面上,只能通过添加CBase的公共接口来实现,请问怎么实现?class CBase
{
public:
void draw();
void SetLine();
private:
int radius;
}class CDrived:public CBase
{
public:
void draw();
void SetLine();
private:
}
有两个类,其中一个是CBase,这个类有如下,通过其派生一个类CDrived,现要求不让CDrived出现在用户的界面上,只能通过添加CBase的公共接口来实现,请问怎么实现?class CBase
{
public:
void draw();
void SetLine();
private:
int radius;
}class CDrived:public CBase
{
public:
void draw();
void SetLine();
private:
}
解决方案 »
- 在VC程序中启动屏保的问题
- 有关内在映射文件的使用。
- 模式对话框的PropertySheet上控件重叠及Wizard按钮有时Crash问题
- mfc中的窗口如何使他在始终在最前端显示?
- 如何进行视图之间的数据传送
- 为何会出错? SELECT * FROM SONG WHERE LANGUAGE = 'C'
- 对于学习vc的几点困惑?!!
- 哪儿有tc30?
- 关于Edit多次显示问题
- ODBC连接access,无效的字段名
- 如何通过写代码打开“选择ODBC数据源”对话框,获得连接字符串?
- 小弟我想用CRichEditView派生一个自己的类,可是这个类为什么在vc的向导里,找不到?????????晕ing!!
class CBase
{
public:
virtual void draw();
virtual void SetLine();
private:
int radius;
}
{
public:
virtual void draw();
virtual void SetLine();
private:
int radius;
}
推荐《C++ Primer》
什么叫“用户界面”
什么叫“CBase的公共接口”
要实现什么?
这其实是COM的原理。
用一个类厂
IFactory来生成类实例
用虚函数来给出接口
本例基类CBase中的两个成员函数不是virtual函数,则其派生类CDrived中的两个同名函数与这两个函数没有任何关系。在不能修改派生类的前提下,如果要改变派生类的行为,只有将基类的两个函数改为virtual函数。
而且基类的析够函数一定要虚拟