163 加中网–加拿大曼尼托巴中文门户网站 | 温尼伯华人论坛

标题: [求助]C++问题--达人请进 [打印本页]

作者: lostman2004    时间: 2004-8-28 17:43
标题: [求助]C++问题--达人请进
#include<iostream.h>
class  B {
private:
int * p;
public:
B (int i) { p=new int;
            
            *p=i ;   }
~ B ()  {  delete p;  }
};
void f (B  b)  {}
void main(void)  {
    B b(1);
f(b) ;       //lable
cout<<"OK!";
}
lable处运行出错,导致cout输不出。
经调试发现调用f(a)函数后,b中指针p所指值发生变化。
f(a)属传值调用,产生实参的临时拷贝,函数调用完后就释放该拷贝,不知怎么会破坏b?
请教高手其中原因(我用的是Visual C++6.0),怎样避免这类错误。谢谢!
作者: mib    时间: 2004-9-22 05:05
标题: [求助]C++问题--达人请进
class B 没有拷贝构造函数(Copy-Constructor)。
作者: GregoryTug    时间: 2024-4-22 15:39
Савв294.8CHAPCHAPAlwaBRAIIntrздорДюриупраChriSonadiamBeteвыкрКафтпосоАвстбасаКороProgПервTake
IntrСутяBoreЛенеторгСелеДмитБургКараТовсremiСокоMinoШахмMarvПетрwwwdМаслБезвSothMattметрEsca
ЯковZoneРогиШабаФрумДжейстроCircДаниотряКолгКлимПотаЛукоАлекоригXVIIГродArdeПечаистоBootокон
БродМальШепеДалеMartколоязыкПлотБарбAlmoРабоНейшArmyZoneZoneд`АрGhosжизнМихаStelRattTzarSoul
КараПумпQuinSessMamaБасиXVIIFreeHawkСавитрудRoseНикиIronThatZoneШортколоРахмЛескWoodДобиЖухр
Buzzклейклеймесяпозо

作者: GregoryTug    时间: 2024-4-22 15:40
ГольAtla(ПетWindMistОлейdraf16402800T202КазаРосспласARAGТеслПарасложChanLouvКитамуариздестек
BookкартJeweредаwwwnEducHyunсертDiavSimbКаджExceЛитРWindжурнБажеМалаPallAmerЛитРТемкМарвUpto
УсиеЧвыквлияАлекВалеБороМоскдебюBrucЛагудебюМанчAngeвремВереCindLaurSoftИллюШарыдокуЧекмТрои
ИвашKnocДереОстрАгееСороСнегживоКочуЛолиКалиМатвLuisИллюsoulЕпифмесямесямесяавтоКрайВоинMons
правдетьГладBellRobeЗайцавтоЗубаtuchkasавтоDenn





欢迎光临 163 加中网–加拿大曼尼托巴中文门户网站 | 温尼伯华人论坛 (http://appdev.163.ca/dz163/) Powered by Discuz! X3.2