我看到过程中的抽象.我看到数据的抽象.
我看到抽象正在失去不重要的细节.
我看到抽象是给一组元素一个名称,并将它们视为一个单元.(但我不知道为什么这被认为是抽象的.所以,我需要澄清这一点)
我知道也有抽象级别,虽然这个名字意味着某些东西,但我没有一个实际的例子,我想不出一个我对抽象定义感到困惑的具体问题.
有人可以写一篇全面的文章吗?抓一点.有人可以给出全面的答案吗?
编辑: - 谢谢你的答案.但是,我一直在寻找一个普遍的答案.例如,我正在阅读一篇文章,其中程序被视为抽象.但是,这里的答案是关于C#和Java中的抽象类(直到现在.)再次感谢你.
我正在阅读
C++ 入门 > 函数冒险 > 模板 > 显式专业化。
为了说明显式专业化的原因/用途,举例说明了一个案例:
考虑一个可以交换任何类型(int, double, struct等等...)的交换模板函数
但有一个特定的struct job情况,您只想交换其中的两个成员,并保留其余成员不变。您将需要不同的定义,因此您必须进行显式专业化。
在同一节中有这样的声明:-
“专业化覆盖常规模板,非模板函数覆盖两者。”
为什么不直接为该用途创建一个常规函数呢?那么常规/非模板将覆盖模板,不是吗?
如果我的解决方案是正确的,那么显式专业化的一个很好的例子是什么?
c++ templates overloading template-specialization language-lawyer
我很困惑为什么类被认为是数据类型.
我知道它们中的一部分是"数据",另一部分是方法.他们为什么称为数据类型?
过程编程语言(如C)中的过程有时会包含一种或多种基本数据类型.但它们并不称为数据类型.
我正在观看斯坦福大学的视频课程/讲座.该课程是"计算机程序的结构和解释"
在第一次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中可以做类似的事情.
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++教程.我无法理解关于函数指针的这个例子.这里是:-
// 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, …
我想制作远程管理工具.我想通过实现GUI或其中的一部分来迈出第一步(因为在我第一次使用C++时真的很有趣).
我需要GUI库中的以下功能: - 1)现代易于使用的范例2)现代kool功能.3)OS独立.即可在Mac OSx,Linux Ubuntu和Win 7上运行.如果可以,Android也可以.