[C++]中比较基础,去很重要的东西,希望大家一起来讨论下啊……---------------------

wing_0706 2011-12-09 11:56:09
比如:重载、覆盖、隐藏三者的区别

大家来讨论讨论啊,

还有什么麻烦大家一起来讨论下这些挺重要的东西
...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wing_0706 2011-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq120848369 的回复:]
重载是一类, 覆盖/隐藏是一类.

覆盖/隐藏是指子类覆盖父类,父类被隐藏的意思...
[/Quote]
恩恩,谢谢大侠,请问还有什么你们觉得挺基础,也挺基础的东西,麻烦多多添加啊,写问题,让我们菜鸟们动动脑,谢谢啊!
myhaikuotiankong 2011-12-10
  • 打赏
  • 举报
回复
覆盖和隐藏有什么区别啊?
对象 2011-12-10
  • 打赏
  • 举报
回复
Overload是子类重新实现父类方法。
Hiding是子类覆盖了父类的方法。
xiaopoy 2011-12-10
  • 打赏
  • 举报
回复
:S 这个问题很麻烦啊,一些我觉得基础又有意思的东西,

一个分号的空语句
for ( ; ;)
{
//blabla...
if ()
{
break;
}
}

类的构造函数和析构函数是没有返回值的。以及类不一定要有析构函数,可以在特定的一个函数中delete this完成自定义名称的析构函数,在微软的COM接口中大量使用,
class name
{
public:
name ( void);
~name ( void);

void interface ( void);
}

ningto.com 2011-12-10
  • 打赏
  • 举报
回复
重载发生在一个类中;
覆盖发生在两个类中。
wintree 2011-12-09
  • 打赏
  • 举报
回复
#include <iostream.h>; 
class Base
{
public:
virtual void f(float x){ cout << "Base::f(float) " << x << endl; }
void g(float x){ cout << "Base::g(float) " << x << endl; }
void h(float x){ cout << "Base::h(float) " << x << endl; }
};
class Derived : public Base
{
public:
virtual void f(float x){ cout << "Derived::f(float) " << x << endl; }

void g(int x){ cout << "Derived::g(int) " << x << endl; }
void h(float x){ cout << "Derived::h(float) " << x << endl; }
};

示例程序中:
(1)函数Derived::f(float)覆盖了Base::f(float)。
(2)函数Derived::g(int)隐藏了Base::g(float),而不是重载。
(3)函数Derived::h(float)隐藏了Base::h(float),而不是覆盖。
qq120848369 2011-12-09
  • 打赏
  • 举报
回复
重载是一类, 覆盖/隐藏是一类.

覆盖/隐藏是指子类覆盖父类,父类被隐藏的意思...

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧