小编use*_*047的帖子

如果在编译时创建虚拟表,那么为什么我们将其称为运行时多态?

由于虚拟表是在编译时创建的,那么为什么我们将其称为c ++中的运行时多态?

c++

7
推荐指数
2
解决办法
4829
查看次数

派生类中的私有虚函数

可能重复:
C++:重写public\private继承

class base {
public:
  virtual void doSomething() = 0;
};

class derived : public base {
private:   // <-- Note this is private

  virtual void doSomething()
  { cout << "Derived fn" << endl; }
};
Run Code Online (Sandbox Code Playgroud)

现在,如果我执行以下操作:

base *b = new child;
b->doSomething();    // Calls the derived class function even though that is private
Run Code Online (Sandbox Code Playgroud)

题:

  1. 它可以调用派生类函数,即使它是私有的.这怎么可能?

现在,如果我将继承访问说明符从public更改为protected/private,我会收到编译错误:

'type cast' : conversion from 'Derived *' to 'base *' exists, but is inaccessible
Run Code Online (Sandbox Code Playgroud)

注意:我知道继承访问说明符的概念.所以在第二种情况下,因为它是派生私有/受保护的,所以它是不可访问的.但我想知道第一个问题的答案.任何输入都将受到高度赞赏.

c++

6
推荐指数
2
解决办法
4093
查看次数

vs2010-无法打开包含文件'sys / param.h

当我在vs2010 x64模式下编译我的C ++解决方案时,出现以下编译问题。 Can not open include file 'sys/param.h' :No such file or directory.

但是在Win32模式下,相同的编译效果很好。

我不确定该头文件如何丢失,有人可以帮我吗?我正在使用一些客户端头,这是客户端文件中存在的以下代码部分。
#ifndef WIN32
#include <sysipc.h>
#include <sys/param.h>
#endif

c++ visual-studio-2010

5
推荐指数
1
解决办法
9248
查看次数

C++ 中的双整数转换

我使用Visual Studio 2010编写 C++ 应用程序。在其中之一中,我将类型从双精度转换整数,如下所示:

intAmount = (int)doubleAmount;
Run Code Online (Sandbox Code Playgroud)

其中intAmount整数类型,doubleAmount双精度类型。

我尝试显示这些,但出现问题时doubleAmount = 16200000,它显示为,16199999 而在其他一些情况下,我没有遇到任何问题。

例如: whendoubleAmount = 15400000或 it is 18000000。这 2 个值显示正确。

经过一些分析,我明白这不是类型转换的正确方法。所以我将其修复如下:

intAmt = doubleAmount >= 0 ? (int)(doubleAmount+0.5) : (int)(doubleAmount-0.5);
Run Code Online (Sandbox Code Playgroud)

上述修复对我来说效果很好。

我的问题是:为什么这个问题只存在于doubleAmount = 16200000.

任何人都可以请建议吗?

编辑请注意计算 doubleAmount = 0.81 * 20000000 等于 16200000

c++ memory-management type-conversion visual-studio-2010

2
推荐指数
1
解决办法
6573
查看次数

加入父表和子表的最佳方法

我有父表A. A有几个子表,如B,C,D,E,F,G 子表不相互链接.它们只与...相关联A. A有一个键Id在所有子表中用作外键.

加入这些表的最佳方法是什么,以便我可以创建一个单独的视图?

sql database oracle view

1
推荐指数
1
解决办法
1万
查看次数