很好用的函数: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();
}
/*打印结果:
对象创建成功,自动调用构造函数!!
"调用成员函数"
10
20
30
删除对象成功,自动调用析构函数!!
*/
this->只能在非静态成员函数的内部引用。