码迷,mamicode.com
首页 > 编程语言 > 详细

c++关于析构的那点小事(个人吐槽向

时间:2016-04-20 08:12:16      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<iostream>
 2 using namespace std;
 3 class test
 4 {
 5     int *i;
 6     
 7 public:
 8     test(int n) { i = new int[n];}
 9     void func(int n) { test a(n);  a.f(); cout << endl; }
10     void f() { cout<<this<<endl; }
11     void shit(test x) { x.i = i; }
12     ~test() { cout << this << "被析构了" << endl; }
13 };
14 void main()
15 {
16     test b(3);
17     cout << "b  "; b.f();
18     cout << "b 中 a";b.func(5);
19     test c(6);
20     cout << "c  "; c.f();
21     cout << "c 中 a"; c.func(5);
22         b.shit(c);
23 }

技术分享

 1 #include<iostream>
 2 using namespace std;
 3 class test
 4 {
 5     int *i;
 6     
 7 public:
 8     test(int n) { i = new int[n];}
 9     void func(int n) { test a(n);  a.f(); cout << endl; }
10     void f() { cout<<this<<endl; }
11     void shit(test x) { x.i = i; }
12     ~test() { cout << this << "被析构了" << endl; }
13 };
14 void main()
15 {
16     test b(3);
17     cout << "b  "; b.f();
18     //cout << "b 中 a";b.func(5);
19     test c(6);
20     cout << "c  "; c.f();
21     //cout << "c 中 a"; c.func(5);
22         b.shit(c);
23 }

技术分享

面向过程中子函数无论是否被调用都是先通过声明么?类中的函数均在程序build时被声明(函数体内部的语句并没有build,调用时才会)。所以

即使不调用类中除了构造和析构以外的成员函数。如果这些函数中有以类的对象为形参(非引用,引用不是对象)的成员函数,

c++关于析构的那点小事(个人吐槽向

标签:

原文地址:http://www.cnblogs.com/yuelien/p/5410661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!