【c++总结-类】一个例子知道类的创建,对象,函数实现,构造函数,析构函数
2015-05-14 22:08
531 查看
例子:
结果
使用new关键字,前面的必须是指针形式
析构函数释放内存的特点:
- 不管是堆中还是栈中,先创建的后释放,后创建的先释放
#include <iostream> using namespace std; class Person { public://类函数和成员函数都是public的,供外界调用 Person();//无参构造函数,如果没有构造函数会自动创建一个无参构造函数 Person(string name, int age);//有参构造函数 ~Person();//析构函数,释放内存 string getName();//name的getter方法 int getAge();//age的getter方法 private: string name;//长远变量 int age;//成员变量 }; /*实现构造函数*/ Person::Person() { name = "ttf"; age = 22; } /*实现有参构造函数,一定要使用这种初始化参数的方式*/ Person::Person(string name, int age):name(name),age(age) { } /*实现析构函数*/ Person::~Person() { cout << "释放了" << this->getName() << endl; } /*实现getter方法*/ string Person::getName() { return this->name; } int Person::getAge() { return this->age; } int main() { Person p;//在栈中声明一个对象,调用无参的构造函数 cout << p.getName() << " " << p.getAge() << endl; //在堆中声明一个对象 Person *person = new Person("fft", 21);//调用有参构造函数 cout << person->getName() << " " << person->getAge() << endl; delete person;//使用new创建的要主动释放内存 return 0; }
结果
ttf 22 fft 21 释放了fft 释放了ttf
使用new关键字,前面的必须是指针形式
析构函数释放内存的特点:
- 不管是堆中还是栈中,先创建的后释放,后创建的先释放
相关文章推荐
- C++构造 函数,析构函数,拷贝构造函数,赋值构造函数,一个内存错误例子!
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
- 号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函
- C++ 学习总结(十)——C++类与对象,及构造函数,析构函数,拷贝构造函数
- C++中对象作为函数形参,返回值时,构造函数,复制构造函数,析构函数的调用顺序(1)
- 创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数, 运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。可以根据需要 加入自己的成员变量或成员函数
- 在立即执行函数内组合使用构造函数模式和原型模式创建对象,实现模块化开发(以daterangepicker.js为例)
- C++ 类 & 对象-类成员函数-类访问修饰符-C++ 友元函数-构造函数 & 析构函数-C++ 拷贝构造函数
- 关注C++细节——含有本类对象指针的类的构造函数、析构函数、拷贝构造函数、赋值运算符的例子
- 你好,C++(33)对象生死两茫茫 6.2.3 一个对象的生与死:构造函数和析构函数
- C++实现一个类并包含构造函数,拷贝构造函数,赋值函数,析构函数
- [总结]C++实现一个限制对象实例个数的类
- 一个新的对象创建机制的思考--C++下实现类似于Java的对象管理机制及反射
- C++学习总结_声明一个对象并实现声明类的方法
- javascript 中的 prototype和constructor属性的使用(constructor属性始终指向创建当前对象的构造函数,每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数)
- 【C/C++】实现一个string类的构造函数、析构函数和赋值函数
- C++第十周【任务2】定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。
- 如果某一个对象没有提供创建函数,或创建函数无法达到期望的效果,如果创建新的这个类型的对象?
- (总结)C++的构造函数(初始化列表,缺省/复制和带默认参数的构造函数)和析构函数详解
- C++第六周任务5:解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优点。