| 查看: 480 | 回复: 2 | ||
lixy1217木虫 (著名写手)
|
[求助]
关于C++析构函数出现的问题
|
|
这是代码,用于计算两个向量的加法。#include "iostream.h" #include "iostream.h" class vector { public: int n; double*v; vector(int a=0) { if(a>0) { v=new double[a]; n=a; } else{ n=0; v=NULL; } } friend vector operator+(vector&a,vector&b) { int i; vector c; if(a.n!=b.n) {cerr<<"Error!!!"< c.v=new double [a.n]; for(i=0;i return c; } void operator=(vector &c) { int i; cout<<"???"< for(i=0;i } ~vector() { cout<<"n="< v=NULL; n=0; } }; void main() { vector f1(2),f2(2),f3; f1.v[0]=1.0; f1.v[1]=1.0; f2.v[0]=2.0; f2.v[1]=2.0; f3=f1+f2; cout<<"f3.n="< 结果输出为 n=2 ??? n=2 f3.n=2 -1.45682e+144 n=2 同时出现了指针错误。 与网上一些关于矩阵向量的程序包对比后,没有发现什么明显错误。很明显出自于对析构函数的应用,可是却不知问题具体在哪里,如何修改。 目前的办法只能在类中增加一个判定型变量,然后以此确定对象是否执行析构,但这样显然不符合C++的初衷。 [ 来自科研家族 皇家数理科学协会 ] [ Last edited by lixy1217 on 2012-12-6 at 22:06 ] |
» 猜你喜欢
投稿精细化工
已经有6人回复
博士读完未来一定会好吗
已经有36人回复
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有10人回复
博士申请都是内定的吗?
已经有9人回复
心脉受损
已经有8人回复
读博
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
C/C++ 数据保存问题。谢谢。
已经有6人回复
VC++中函数返回数组指针或者带指针的结构体的编译方式是否可取?
已经有6人回复
关于用弦截法求f(x)=3x^3-5x^2+16x-60=0的c++编程问题,我的程序如下。
已经有3人回复
如何用c++来求解矩阵的相关问题。
已经有12人回复
c++中的负数求模问题
已经有4人回复
关于c++中计算结果出现-1.#IND的问题
已经有4人回复
[求助]C/C++中多个返回值的问题
已经有5人回复
【求助】vs2010运行c++速度问题
已经有8人回复
【求助】C/C++画图问题
已经有9人回复
【求助】用C++编写MFC程序时工具栏和状态栏问题!!
已经有5人回复
【分享】数据结构算法与应用 C++语言描述
已经有9人回复

libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2012-12-06 22:46:18
wangww2011
木虫 (著名写手)
- 程序强帖: 13
- 应助: 11 (小学生)
- 金币: 4023.1
- 散金: 2709
- 红花: 18
- 沙发: 1
- 帖子: 1915
- 在线: 1537.1小时
- 虫号: 772953
- 注册: 2009-05-17
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
3楼2012-12-07 00:40:57













回复此楼