加载中...

类的学习

4. 关于this指针的一个精典回答:

当你进入一个房子后,
你可以看见桌子、椅子、地板等,
但是房子你是看不到全貌了。
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身呢?
this是一个指针,它时时刻刻指向你这个实例本身。

所以对类中的this 表示 this在一个类中,因为你无法进入这个类后再找到这个类的位置,所以需要this指向这个类地址本身,这样来操作在类中的数据

委托构造函数

比如当你需要重载多个构造函数 但是又不想在类外面写多个构造函数 而此时你所需要改变的只是少部分的参数

Clock(int newH, int newM, int newS):  hour(newH),minute(newM),  second(newS){
}//被调用后
//下面在冒号后面的都需要执行  
Clock(): Clock(0, 0, 0) { }//这里总程序执行到Clock(0, 0, 0)先去进行clock函数然后再回来执行{}里面的

4. 关于this指针的一个精典回答:

当你进入一个房子后,
你可以看见桌子、椅子、地板等,
但是房子你是看不到全貌了。
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身呢?
this是一个指针,它时时刻刻指向你这个实例本身。

所以对类中的this 表示 this在一个类中,因为你无法进入这个类后再找到这个类的位置,所以需要this指向这个类地址本身,这样来操作在类中的数据

委托构造函数

比如当你需要重载多个构造函数 但是又不想在类外面写多个构造函数 而此时你所需要改变的只是少部分的参数

Clock(int newH, int newM, int newS):  hour(newH),minute(newM),  second(newS){
}//被调用后
//下面在冒号后面的都需要执行  
Clock(): Clock(0, 0, 0) { }//这里总程序执行到Clock(0, 0, 0)先去进行clock函数然后再回来执行{}里面的
##有的时候构造函数 需要加const 不然会提示no matching function for call to `Example::Example(Example)'
Mystring(const Mystring &ns):len(ns.len){
		int i=0;
		for( int j=0;j<ns.len;j++,i++){
			(this->c[i])=(ns.c[j]);
		}
		
		this->c[i]='\0';

	}
posted @ 2022-04-16 11:21  liang302  阅读(40)  评论(0编辑  收藏  举报