ChinaUnix.net
相关文章推荐:

c 纯虚析构函数

初学C++,问个语法: 函数可以有实现吗? 搜出来的帖子上一般都说之声明不实现。但我在别人的代码里看到了实现。求证下....

by davycu - C/C++ - 2009-06-24 18:16:23 阅读(4375) 回复(10)

相关讨论

#include using namespace std ; class Parent { public: void Print() const = 0 ; } ; class Child : public Parent { public: } ; int main() { Child c ; c.Print() ; return 0 ; } =======编译错误提示如下,什么意思?========= error C2253: 'Print' : pure specifier only applies to virtual function - specifier ignored

by anank - C/C++ - 2007-10-07 22:40:34 阅读(2683) 回复(4)

这里有一个程序,编译没有问题,但执行会出错 class a { public: virtual void foo(void) = 0; }; class b:public a { public: void foo(void){ cout<<"hello"; } void foo2(void){ cout<<"hello"; } }; int main(void) { b* p; p->foo(); }

by xktop - C/C++ - 2006-07-19 12:56:05 阅读(800) 回复(6)
by lc1999 - C/C++ - 2004-06-11 10:21:27 阅读(485) 回复(1)

1.有基类CBase和其派生类CDerive; 2.两个类的析构函数都不是函数; 3.我定义一个基类指针指向派生类,CBase *pB = new CDerive; delete pB; 4.我发现先构造CBase,然后构造CDerive,然后析构CBase; 我想知道为什么没有调用派生类的析构函数析构函数写成函数到底是为什么?

by qfmeal - C/C++ - 2008-11-20 15:47:44 阅读(1147) 回复(4)

例如 class bb { virtual void step() = 0; }; 上面这种是放在一个头文件里边的 这个后面的 "=0"是什么意思啊,不知道是函数特有还是成员函数也有,还是说是函数都有? [ 本帖最后由 SCerZZ 于 2009-9-11 15:30 编辑 ]

by SCerZZ - C/C++ - 2009-09-11 17:16:37 阅读(801) 回复(3)

c++编程思想里边有提到,内联的函数定义是非法的 我做了个测试 [code] class Shape{ public: virtual void draw() = 0{ std::cout <<"Shape::draw()\n"; } }; [/code] 这种情况编译会出错,这个没有疑问 [code] class Shape{ public: virtual void draw() = 0; }; inline void Shape::draw(){ std::cout <<"Shape::draw()\n"; } [/code] 而这种情况编译就没有错误了,不解 我觉得上面两个都是把dra...

by zwylinux - C/C++ - 2007-04-05 10:58:36 阅读(2349) 回复(7)

我定义了一个抽象类,然后从它派生了一个类如下 class A{ public: A(); ~A(); virtual func() = 0; }; class B:public A{ public: B(); ~B(); func() {cout<<"aaa"<;func(); //这句话报错,说是不能引用函数 } 哪位能给解释一下

by jeffwang8001 - C/C++ - 2005-01-23 23:27:29 阅读(834) 回复(3)

函数有什么特别的作用吗?

by eiik123456 - C/C++ - 2004-02-22 12:18:29 阅读(1729) 回复(2)

源代码如下: #include using namespace std; class CA{ public: int m; CA(int r=0){m=r;printf("%d CA::CA()\n",m);} ~CA(){printf("CA::~CA()\n");} void f(){printf("%d CA::f()\n",m);} }; class CB:public CA{ public: CA mal; CB():mal(2){printf("%d CB::CB()\n",m);} ~CB(){printf("CB::~CB()\n");} void f(){printf("%d CB::f()\n",m);} }; void testConstructor(){ CA *pCA=new ...

by Qshine - C/C++ - 2007-11-13 08:59:57 阅读(1824) 回复(4)

gcc --version gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4) g++ --version g++ (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4) 编写程序时报这个警告,我的程序是从VC下移植过来的 我感觉这个警告太敏感了,怎么让gcc无视它,不再报? 我是linux新进,:谢谢!

by funcman - C/C++ - 2007-08-19 20:02:01 阅读(3886) 回复(7)