wangzb@wangzb
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“有点问题。。。 构造过程没有问题,构造顺序为先基类后子类,若存在对象成员,先构造对象成员,最后构造自身。 析构解释有问题: 先析构子类后析构父类没有问题,析构应该是一个调用过程,在自己析构函数退出时,调用成员对象的析构函数,但是顺序变了,构造时成员对象是按照定义顺序构造的,但是析构时顺序是相反的,因此析构的解释是先调用…”
“实际上已经发生资源转移了,也就是autoP1为空了,打印出hello world的原因在于print成员函数没有访问到对象的内部数据成员,只是简单的打印了一个hello world,所以即使是一个空的autoP1,也可以正确调用print函数,你可以在print里面访问userName,程序就会挂掉了。 【 在 sno…”
“你重载的*两边的数都是Complex &C,~a[i]返回的是const Complex,此时调用*当然会出错,因为找不到合适的*号,一种方法是修改~返回不是const。第二种方法是在for循环里增加一个非const临时变量暂时接收~a[i],再用该变量和b相乘,第三种方法就是修改*的参数,改成const Comple…”
“他首先将0强制转化成type类型的指针(linux内核下的一种技巧),然后取出该类型的member成员,typeof为得到member成员的类型,typeof(((type*)0)->member)就是member的类型,然后定义了一个这种类型的常指针,并用ptr对其赋值。 【 在 salooloo 的大作中提到: 】…”
“RTTI提供了一个typeid操作符,可以动态返回变量类型。 【 在 cl233 的大作中提到: 】 : rt,谢谢。。”
“这样改一下: int operator()(const int& m,const int& n) const { return m+n; } 可以看一下bind2nd的代码,它里面的operator()要求参数为const引用,并且为常成员函数。 【 在 kmplayer 的大作中提到: 】 : #include <a…”
“修改一下: #include <iostream> using namespace std; //可以放到b.h中 class A; class B { public: B(A* pa):a(pa){}; void set(int c,int b); void out(); private: A* a; }; //可以…”
“可以用funtool来求反函数,命令行里输入funtool。。。 【 在 sysusky 的大作中提到: 】 : rt : 网上查不到,手头暂时没有手册,也不知道有没有这样的函数”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。