由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 纯虚函数问题
相关主题
请教 C++的一个困惑 (operator delete)为什么virtual memory的0地址不能给用户程序访问
几个C++书写风格疑问function pointer 和 call-back function 有什么区别?
node.js里调用了callback之后,还会回到函数里。C++中怎么传递std::hex这样的参数啊
当某个函数被调用的时候,需要定义一个宏问个C++中重复删除指针的问题
C++ Q05: pointer to constant variablec++里的函数可不可以是virtual+static
C++: pointer to membersC++ Q87: What is wrong with this swap function? (转载)
还是成员函数指针,试试这个诡异的东东吧。琢磨了一下c++ smart pointer,发现不能到处用
C++里get array size的问题 (转载)C++问题: 指针变量是哪里产生的?
相关话题的讨论汇总
话题: int话题: 函数话题: virtual话题: fun话题: 抽象类
进入Programming版参与讨论
1 (共1页)
s*****k
发帖数: 604
1
下面这个程序编译没有问题。
我的问题是在 fun 函数里调用一个没有实现的函数也是可以的吗?
//////////////////////////////////////
#include
class A
{
public:
virtual int g(int i) = 0;
};
int fun(A& a)
{
return 5*a.g(5);
}
int main(void)
{
}
P********e
发帖数: 2610
2
你main里面调用一下fun就知道了

【在 s*****k 的大作中提到】
: 下面这个程序编译没有问题。
: 我的问题是在 fun 函数里调用一个没有实现的函数也是可以的吗?
: //////////////////////////////////////
: #include
: class A
: {
: public:
: virtual int g(int i) = 0;
: };
: int fun(A& a)

l*****d
发帖数: 359
3
调用纯虚函数没什么不可以, 但是创建抽象类的对象不可以
s*****k
发帖数: 604
4
多谢

【在 l*****d 的大作中提到】
: 调用纯虚函数没什么不可以, 但是创建抽象类的对象不可以
P********e
发帖数: 2610
5
我没看到你任何地方有创建抽象类对象的地方
don't make it wrong

【在 s*****k 的大作中提到】
: 多谢
s*****k
发帖数: 604
6
不好意思可能我的问题提的不好。
我明白抽象类不能创建对象,因为有成员函数的实现没有给出(virtual function)。
其实我的本意是想问抽象类是不是和java里的interface是一个东西?
我的理解是 virtual function 就是定义接口但是不给出实现。
C 里面用函数指针实现callback, 在C++里面可以中抽象类来实现。

【在 P********e 的大作中提到】
: 我没看到你任何地方有创建抽象类对象的地方
: don't make it wrong

l*****d
发帖数: 359
7
我的意思是纯虚函数是可以有定义的也是可以被调用的。不过如果没有定义过的话执行的时候自然会出错。

【在 P********e 的大作中提到】
: 我没看到你任何地方有创建抽象类对象的地方
: don't make it wrong

z***e
发帖数: 5393
8
abstract class, interface, whatever you name.
The only difference is that the pure virtual function is a NULL pointer in
vtbl, while regular virtual function has a real address. it's all about
pointer.

【在 s*****k 的大作中提到】
: 不好意思可能我的问题提的不好。
: 我明白抽象类不能创建对象,因为有成员函数的实现没有给出(virtual function)。
: 其实我的本意是想问抽象类是不是和java里的interface是一个东西?
: 我的理解是 virtual function 就是定义接口但是不给出实现。
: C 里面用函数指针实现callback, 在C++里面可以中抽象类来实现。

1 (共1页)
进入Programming版参与讨论
相关主题
C++问题: 指针变量是哪里产生的?C++ Q05: pointer to constant variable
C++ pointer to function is buggyC++: pointer to members
C++小插曲还是成员函数指针,试试这个诡异的东东吧。
一个简单的小问题C++里get array size的问题 (转载)
请教 C++的一个困惑 (operator delete)为什么virtual memory的0地址不能给用户程序访问
几个C++书写风格疑问function pointer 和 call-back function 有什么区别?
node.js里调用了callback之后,还会回到函数里。C++中怎么传递std::hex这样的参数啊
当某个函数被调用的时候,需要定义一个宏问个C++中重复删除指针的问题
相关话题的讨论汇总
话题: int话题: 函数话题: virtual话题: fun话题: 抽象类