小编waj*_*jed的帖子

什么是抽象?

我看到过程中的抽象.我看到数据的抽象.

我看到抽象正在失去不重要的细节.

我看到抽象是给一组元素一个名称,并将它们视为一个单元.(但我不知道为什么这被认为是抽象的.所以,我需要澄清这一点)

我知道也有抽象级别,虽然这个名字意味着某些东西,但我没有一个实际的例子,我想不出一个我对抽象定义感到困惑的具体问题.

有人可以写一篇全面的文章吗?抓一点.有人可以给出全面的答案吗?

编辑: - 谢谢你的答案.但是,我一直在寻找一个普遍的答案.例如,我正在阅读一篇文章,其中程序被视为抽象.但是,这里的答案是关于C#和Java中的抽象类(直到现在.)再次感谢你.

abstraction

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

C++ 中何时需要或需要“显式专业化”?

我正在阅读

C++ 入门 > 函数冒险 > 模板 > 显式专业化。

为了说明显式专业化的原因/用途,举例说明了一个案例:

考虑一个可以交换任何类型(int, double, struct等等...)的交换模板函数

但有一个特定的struct job情况,您只想交换其中的两个成员,并保留其余成员不变。您将需要不同的定义,因此您必须进行显式专业化。

在同一节中有这样的声明:-

“专业化覆盖常规模板,非模板函数覆盖两者。”

为什么不直接为该用途创建一个常规函数呢?那么常规/非模板将覆盖模板,不是吗?

如果我的解决方案是正确的,那么显式专业化的一个很好的例子是什么?

c++ templates overloading template-specialization language-lawyer

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

面向对象编程中的类型

我很困惑为什么类被认为是数据类型.

我知道它们中的一部分是"数据",另一部分是方法.他们为什么称为数据类型?

过程编程语言(如C)中的过程有时会包含一种或多种基本数据类型.但它们并不称为数据类型.

c c++ java oop

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

OOP与功能编程(方案)的区别

我正在观看斯坦福大学的视频课程/讲座.该课程是"计算机程序的结构和解释"

在第一次OOP讲座中,讲师(Brian Harvey)将OOP方法描述为对同一问题给出不同答案的方法,而函数式编程中的函数为某个输入提供了一定的输出.

以下代码是OOP中一个方法的示例,每次调用时都会给出不同的答案: -

(define-class (counter)
  instance-vars (count 0))
  (method (next)
    (set! count (+ count 1))
    count) )
Run Code Online (Sandbox Code Playgroud)

虽然课程以方案说明,但我并没有太注意语言本身,所以我无法解释代码; 但是"下一个"功能不能和"下一个"功能相同吗?在C中,我会声明一个全局变量,每次调用next时都会增加一个.我知道C是程序性的,但我猜测在Scheme中可以做类似的事情.

oop scheme functional-programming

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

需要解释C++代码

namespace Stack {
  struct Rep; // definition of stack layout is elsewhere
  typedef Rep& stack;
  stack create(); // make a new stack
  void destroy(stack s); // delete s
  void push(stack s, char c); // push c onto s
  char pop(stack s); // pop s
}
Run Code Online (Sandbox Code Playgroud)

这是在"A Tour of C++"单元中,甚至在函数,循环和基本数据类型之类的基本材料之前......我不知道是否/我应该如何理解这段代码.

无论如何,有人可以解释一下吗?它应该是如何"使用接口定义堆栈管理器"的解释的一部分

首先,我特别不知道" typedef Rep& stack"是什么意思.

c++

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

功能指针(C++)

我正在学习C++教程.我无法理解关于函数指针的这个例子.这里是:-

// pointer to functions
#include <iostream>
using namespace std;

int addition (int a, int b)
{ return (a+b); }

int subtraction (int a, int b)
{ return (a-b); }

int operation (int x, int y, int (*functocall)(int,int))
{
  int g;
  g = (*functocall)(x,y);
  return (g);
}

int main ()
{
  int m,n;
  int (*minus)(int,int) = subtraction;

  m = operation (7, 5, addition);
  n = operation (20, m, minus);
  cout <<n;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

行" m = operation (7, 5, …

c++

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

需要推荐C++ GUI库

我想制作远程管理工具.我想通过实现GUI或其中的一部分来迈出第一步(因为在我第一次使用C++时真的很有趣).

我需要GUI库中的以下功能: - 1)现代易于使用的范例2)现代kool功能.3)OS独立.即可在Mac OSx,Linux Ubuntu和Win 7上运行.如果可以,Android也可以.

c++

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