嘿,我几年前教了自己的PHP,现在在大学里,并且对Java比较熟练(因此我的意思是我是初学者,但是我的数据结构当然在这我将采取算法下学期)帮助第一个C++类/指针
在任何情况下......我想学C++和偶然发现了这一点: http://newdata.box.sk/bx/c/
什么是真的绊倒了我,现在是一个指针。 ..我想我得到的理论,但一个非常简单的“程序”是不正确的。它编译,但然后有一个内存错误。
我已经决定购买C++ Primer,在这里进行一些搜索,因此它会在周五到达这里。在此之前,任何人都可以告诉我什么是(可怕的)错这个简单的代码:
class Number {
public:
string *owner;
int getNum() {
return *num;
}
int getTwice() {
return *twice;
}
Number(int our_num, string me) {
*num = our_num;
*twice = 2 * *num;
*owner = me;
}
private:
int *num;
int *twice;
};
int main()
{
Number *nbr3 = new Number(3,"Bob");
cout << nbr3->getNum() << endl;
cout << nbr3->getTwice() << endl;
cout << nbr3->owner << endl;
delete nbr3;
system("PAUSE");
return 0;
}
的错误出现在构造函数...像* NUM = our_num一部分。
但是,不是说“将num指针的值设置为our_num”?这就是我想要的!
感谢您与我所知道的帮助是一个非常愚蠢的和根本性的错误...
没有**算哪里,你试图做“2 * NUM”,还必须“民”和“两次”为指针,以一些记忆,但你不被方式,为他们分配内存 – fazo 2011-03-03 04:51:37
哦...我认为代码试图做的事情相当明显,但以防万一:我有一个“Number”类,每个Number都有一个值和一个所有者,当创建一个新实例时,它们都被传入。然后还有“两倍”值,它被设置为数值的两倍。 – 2011-03-03 04:52:19
我要加你如何需要得到一个C++的书,从无数次学习评论,直到你提到你已经购买了C++入门。第一次在Stack Overflow上搜索你的荣誉。 – 2011-03-03 04:54:38