类的构造函数,析构函数,动态生成对象
来源:互联网 发布:vb opc 西门子 编辑:程序博客网 时间:2024/06/07 14:06
- - - - - - - - - - - - - 触控未来的日子–Day 47- - - - - - - - - - - - - -
发现一个很好用的函数:strlen (C语言函数)
头文件:string.h
格式:strlen (字符数组名)
功能:计算给定字符串的(unsigned int型)长度,不包括’\0’在内
说明:返回s的长度,不包括结束符NULL。
程序示例:
#include<string.h>#include<stdio.h>int main(void){ char*s="GoldenGlobalView"; printf("%s has %d chars",s,strlen(s)); getchar(); return 0;}//GoldenGlobalView has 16 chars;
C++输入函数:cin<<变量 与之对应的输出函数是cout<<变量<
构造函数的特点:
1,它是一个普通的函数,但是它又不普通,它的名字和类名是一样的,类一生成对象就会调用这个函数。由于类的封装性,不能像普通函数一样初始化。
2,它是系统自己调用。
3,对类所有变量初始化
4,不能有返回值。
析构函数(destructor)
与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕return了,或者对象被delete了),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
概念难懂,还是自己敲一遍心理踏实,今天所有的知识点都在这里:
#include<iostream>#include<string>using namespace std;class Clock{public: int a; int b; //成员属性 Clock(int a,int b,int c); //构造函数 ~Clock(); //析构函数 void showtime(void) //成员函数 { cout<<"调用成员函数"<<'\n'<<Hour<<'\n'<<Minute<<'\n'<<Scend<<'\n'<<endl; };private: int Hour,Minute,Scend; //成员变量};Clock::Clock(int a,int b,int c) //构造函数功能实现(给类成员变量赋值){ Hour = a; Minute = b; Scend = c; cout<<"对象创建成功,自动调用构造函数!!"<<'\n'<<endl;};/*void Clock::showtime() //成员函数的定义和具体功能实现(可以在类里面直接定义){ cout<<"调用成员函数"<<'\n'<<Hour<<'\n'<<Minute<<'\n'<<Scend<<'\n'<<endl;}*/Clock::~Clock(void) //析构函数具体功能(提示删除成功)实现{ cout<<"删除对象成功,自动调用析构函数!!"<<'\n'; //结尾的'\n'可以代替endl};void main(){ Clock *p = new Clock(10,20,30); //动态生成对象,并传参,此时系统自动执行构造函数 p -> showtime(); //调用成员函数(->是指针的指向运算符) delete p; //删除生成对象,此时系统自动执行析构函数 getchar(); }/*打印结果:对象创建成功,自动调用构造函数!!"调用成员函数"102030删除对象成功,自动调用析构函数!!*/
this->只能在非静态成员函数的内部引用。
0 0
- 类的构造函数,析构函数,动态生成对象
- 自动调用类的构造函数生成临时类对象
- 类和对象、构造析构函数
- c++ 使用动态内存分配的类需要显式复制构造函数,赋值构造函数,析构函数
- 临时对象的(构造函数与析构函数)
- C++对象的构造函数和析构函数详解
- php面向对象构造函数、析构函数的作用
- 对象、构造函数、析构函数
- 对象的生灭——构造函数、拷贝构造函数、赋值构造函数和析构函数
- srting的类构造函数、析构函数、拷贝构造函数与赋值构造函数
- string类的构造函数,析构函数,拷贝构造函数和赋值构造函数
- 类与对象:构造函数和析构函数
- 十四、类与对象:构造函数和析构函数
- 类,对象,封装,构造函数,析构函数
- 对象,类,友元,构造函数,析构函数
- 派生类生成过程——单继承的构造函数和析构函数
- 派生类生成过程——单继承的构造函数和析构函数(2)
- Python的构造函数和析构函数 对象的变量和类的变量不一样
- 8.1 计时器的基本知识
- nutch源码分析---1
- 二叉树遍历(flist) 中序和按层
- 8.2 使用计时器的三种方法
- 8.3 使用计时器作为时钟
- 类的构造函数,析构函数,动态生成对象
- 8.4 在状态报告上使用计时器
- 洛谷P1240 诸侯安置 递推
- expdp时出现错误:ORA-39006: internal error
- 简历投递中知识问题
- 面向holder编程
- 3Sum
- PHP的设计模式——单例模式
- RabbitMQ用户角色及权限控制