C++中构造函数、参数列表、析构函数、拷贝构造函数、动态分配的数组变量的删除的简单例子
2016-04-12 12:56
399 查看
#include<iostream> #include<string> using namespace std; class Person { private: char *name,*another; int age; public: Person(char *Name,int Age); void setAge(int x); void print(); ~Person(); Person(const Person &p); }; Person::Person(char *Name,int Age):age(Age) { name=new char[strlen(Name)+1]; another=char[10]; strcpy(name,Name); //age=Age; cout<<"constructor……"<<age<<endl; } void Person::setAge(int x){age=x;} void Person::print() { cout<<name<<":"<<age<<endl; } Person::~Person() { delete name; delete [another]; cout<<"destructor……"<<age<<endl; } Person::Person(const Person &p):age(p.age) { name=new char[strlen(p.name)+1]; strcpy(name,p.name); //age=p.age; cout<<"copy constructor……"<<age<<endl; } int main() { Person object1("zhangsan",19); Person object2=object1; object1.setAge(1); object2.setAge(2); object1.print(); object2.print(); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android Native 绘图方法
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- C#中struct和class的区别详解
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法