《C++语言基础》程序阅读——深复制、友元、模板
2015-04-07 15:01
281 查看
返回:贺老师课程教学链接
(1)
(2)
(3)
(4)
(5)
(1)
#include <iostream> using namespace std; class A { public: A() { cout<<"A"; } ~A() { cout<<"~A"; } }; class B { A *p; public: B() { cout<<"B"; p=new A(); } ~B() { cout<<"~B"; delete p; } }; int main() { B obj; return 0; }
(2)
#include <iostream> using namespace std; class MyClass { public: MyClass(int x=0):i(x) { cout<<"C"<<i; } ~MyClass() { cout<<"D"<<i; } void SetValue(int val) { i=val; } int GetVal() { return i; } private: int i; }; int main() { MyClass *p[3]; int i; for (i=0; i<3; i++) { p[i]=new MyClass(i); p[i]->SetValue(p[i]->GetVal()*2); } for (i=0; i<3; i++) delete p[i]; cout<<endl; return 0; }
(3)
#include <iostream> using namespace std; class B { public: B() { cout<<"default constructor"<<endl; } ~B() { cout<<"destructed"<<endl; } B(int i):data(i) { cout<<"constructed: " << data <<endl; } private: int data; }; B Play(B b) { return b ; } int main() { B temp = Play(5); return 0; }
(4)
#include <iostream> using namespace std; class example { public: example() { cout<<"Default Constructing! "<<endl; } example(int n) { i=n; cout<<"Constructing: "<<i<<endl; } ~example() { cout <<"Destructing: "<<i<<endl; } int get_i() { return i; } private: int i; }; int sqr_it(example o) { return o.get_i()* o.get_i(); } int main() { example x(10); cout<<x.get_i()<<endl; cout<<sqr_it(x)<<endl; return 0; }
(5)
#include <iostream> using namespace std; class AA { public: AA(int i,int j) { A=i; B=j; cout<<"Constructor\n"; } AA(AA &obj) { A=obj.A+1; B=obj.B+2; cout<<"Copy_Constructor\n"; } ~AA() { cout<<"Destructor\n"; } void print() { cout<<"A="<<A<<",B="<<B<<endl; } private: int A,B; }; int main() { AA a1(2,3); AA a2(a1); a2.print(); AA *pa=new AA(5,6); pa->print(); delete pa; return 0; }
相关文章推荐
- 第六周 程序阅读-深复制、友元、类模板(3)
- 第六周 程序阅读-深复制、友元、类模板
- 第六周 程序阅读-深复制、友元、类模板(4)
- 第六周 程序阅读-深复制、友元、类模板(5)
- 《C++语言基础》实践项目——深复制、友元、模板
- 第六周阅读程序3:复制构造函数
- 第六周阅读程序4:对象的复制
- 《C++语言基础》程序阅读——和对象找感觉
- 《C++语言基础》程序阅读——构造函数和析构函数
- 第十二周项目 1 阅读程序(函数模板)
- 第12周 《C++语言基础》程序阅读——多重继承(1)
- 2013级C++第7周(春)项目——深复制、友元、模板 【项目2-体验常成员函数】
- 第12周 《C++语言基础》程序阅读——多重继承(3)
- 2013级C++第7周(春)项目——深复制、友元、模板
- 第九周 《C++语言基础》程序阅读——字符串类的设计
- 《C++语言基础》程序阅读——继承和派生
- 《C++语言基础》程序阅读——运算符重载(一)
- 逗B少年搞程序07 模板方法模式——思路可以相同,但思路不会被复制
- 第六周 项目阅读-深复制、友元、类模板(2)
- 2013级C++第7周(春)项目——深复制、友元、模板 【项目3-成员函数、友元函数和一般函数有区别】