| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:[求助]一个有关矩阵类的问题
只看楼主 加入收藏
chenchao
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-5-20
收藏
 问题点数:0 回复次数:1 
[求助]一个有关矩阵类的问题

这个问题困扰我好几天了:
两个矩阵相乘,在运算符函数中,为什么矩阵类对象不能返回,
奇怪的是:当A ,B是同型矩阵时,不会出现问题,比如两个都是2×2时
当A ,B不是同型矩阵时,C就不能返回了,比如A是2×2,B是2×3。

下面是其中的相关代码:
GaloisFieldMatrix operator* (const GaloisFieldMatrix & A , const GaloisFieldMatrix & B)
{
//数据检查

GaloisFieldMatrix C(A.gf , A.GetRow() , B.GetCol());

for(int i = 0 ; i < C.GetRow() ; i++)
for(int j = 0 ; j < C.GetCol() ;j++)
for(int k = 0 ; k < A.GetCol() ; k++)
*(*(C.p+i)+j) += (*(*(A.p+i)+k)) * (*(*(B.p+k)+j));

//test
std::cout<<C; //到这里都没问题,C可以输出。


return C; //这里出了问题????为什么返不回去?

}


在 return C 处设置断点,调试时系统给出信息:Unhandled exception in cc.9.exe:0xC0000005:Access Violation
(这只有在A B是非同型矩阵时才出现)


还有一个问题:
在一些类的成员函数中,如果类对象的引用作为其参数,这些类对象为什么可以直接访问该类的私有成员?例如:

GaloisFieldPolynomial::GaloisFieldPolynomial(const GaloisFieldPolynomial& polynomial)
{
gf = polynomial.gf;
poly = polynomial.poly;
}

其中gf 和poly是GaloisFieldPolynomial类的私有成员。


谢谢帮忙解答一下,多谢!!




搜索更多相关主题的帖子: 矩阵 
2006-05-20 11:35
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
在 return C 处设置断点,调试时系统给出信息:Unhandled exception in cc.9.exe:0xC0000005:Access Violation
基本上是数组越界的问题
for(int i = 0 ; i < C.GetRow() ; i++)
for(int j = 0 ; j < C.GetCol() ;j++)
for(int k = 0 ; k < A.GetCol() ; k++)
*(*(C.p+i)+j) += (*(*(A.p+i)+k)) * (*(*(B.p+k)+j));
这里算法有问题吧
这些类对象为什么可以直接访问该类的私有成员?
什么意思??
为什么不能呢

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-05-20 14:29
快速回复:[求助]一个有关矩阵类的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016759 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved