回 帖 发 新 帖 刷新版面

主题:类的构告函数小问题,初学者

#include<math.h>
#include<iostream.h>
#include<string.h>
#include<stdio.h>
class Stack
{public:
 Stack()
 {num[0]=1;num[1]=1;num[2]=1;}
 Stack(int a[3])
 {
  num[0]=a[0];num[1]=a[1];num[2]=a[2];
 }
 Stack()
 {

 }
 Stack()
 {

 }
 ~Stack()
 {

 }
 int print()
 {
   return num[0];
 }
 private:
  int num[3];
};
int main()
{int c[3]={4,5,6};
 Stack b(c);
 Stack d;
 cout<<b.print()<<endl;
 cout<<d.print()<<endl;
 return 0;
}
以上复制的构造函数和析构函数怎么写的啊?
写复制的构造函数要注意什么不?

回复列表 (共5个回复)

沙发

赶紧换书吧,你再这么搞下去就废了。“废了”的意思是永远无法恢复正常

板凳

还有5章就完了。现在换也不知道看那几本书好啊。好多都没有习题做的,后面有答案的也不多。

3 楼

#include<math.h>
#include<iostream.h>
#include<string.h>
#include<stdio.h>
class Stack
{public:
 Stack()
 {num[0]=1;num[1]=1;num[2]=1;}
 Stack(int a[3])
 {
  num[0]=a[0];num[1]=a[1];num[2]=a[2];
 }
 Stack()
 {

 }
 ~Stack()
 {
   delete[] num;
 }
 int print()
 {
   return num[0];
 }
 private:
  int num[3];
};
int main()
{int c[3]={4,5,6};
 Stack b(c);
 Stack d;
 cout<<b.print()<<endl;
 cout<<d.print()<<endl;
 return 0;
}
复制的构造函数怎么写啊?

4 楼

给你推荐本书《C++ Primer》C++的经典书籍,里面关于类的构造函数的讲解精辟到不能再精辟了。建议反复读N遍,读懂了,就不会有上面的问题了。

5 楼

你这个类就不用浪费时间写复制构造…

我来回复

您尚未登录,请登录后再回复。点此登录或注册