C++,类的析构函数,语法练习
来源:互联网 发布:合肥网络教育学校 编辑:程序博客网 时间:2024/05/20 05:30
#include <iostream>#include <string>using namespace std;class Student{public:// 存void setname(string s){name = s;}void setage(int y){age = y;}void setaddress(string add){address = add;} // 取string getname(){return name;}int getage(){return age;}string getaddress(){return address;}Student & show(){cout<<"调用成员函数show-------"<<endl;cout<<"姓名: "<<name<<" --- 年龄: "<<age<<" ---- 住址: "<<address<<endl; return *this; } //-- 引入构造函数:初始化成员,与类同名,没有返回值Student(string name,int age,string address){this->name = name; this->age = age; this->address = address; cout<<this->name<<":调用构造函数---"<<endl; cout<<"姓名: "<<this->name<<" --- 年龄: "<<this->age<<" ---- 住址: "<<this->address<<endl; }//--- 引入 析构函数 ~Student(){ cout<<this->name<<":调用析构函数---"<<endl;}protected:private:string name;int age;string address;};
// ---
1) 定义一个 栈上的对象: 构造函数与析构函数都能自动调用一次:
2 ) 建立一个堆上的对象,则 构造函数自动调用,而 析构函数则没有自动调用:
3) 堆上的对象: 它不会主动调用析构函数的, 必须通过"垃圾回收站"第三方 delete 来调用析构函数,从而释放空间:
delete 的2种写法:
delete (p); --- 把delete看作是一个函数, 这个与一般函数调用一样,好理解,
delete p; ---- 把 delete 看作是一个指令.
C++的缔造者为何要搞2个写法? 很反感.
- C++,类的析构函数,语法练习
- C++, 类的构造函数 语法练习
- C++,类的构造函数重载,语法练习
- C++,类的构造与析构函数,进栈出栈 以及堆上的执行 顺序 语法练习
- C++,类的拷贝构造函数,类的申明和实现分开写, 语法练习
- C++,返回对象的引用,语法练习
- C++,多态的实现,语法练习
- C++,类,对象,引用--语法练习.
- C++,类的对象 (栈上的和堆上的),语法练习
- C++ 类的 this 指针 语法练习
- 语法部分的练习
- 语法部分的练习
- JSP语法的练习
- C和C++的函数指针语法
- C和C++的函数指针语法
- 【C语言】语法--main函数的参数
- C和C++的函数指针语法
- objective-c的语法—函数名
- bsoj 1482 【NOI2004】郁闷的出纳员(splay入门)
- udp_client_3333bind8888.c
- Java类加载的时机
- FreeBSD 配置IP、修改SHEE提示符
- 分析怎样建设网站内部优化的几个要点
- C++,类的析构函数,语法练习
- 求抽取扑克牌顺子的概率
- 什么是预处理,何时需要预处理?
- 屏幕监控
- 韦的视频列表
- 用虚拟机(VMware Workstation 9.0)安装Fedora 8 镜像 (Linux系统)
- win32创建子进程方法
- Linux_信号量使用实例详解
- provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 53