赞
踩
class Test { public: void setName(char* name) { strcpy(this->name,name); //this->name = name; } void setAge(short age) { this->age = age; } char* showName() { return this->name; } short showAge() { return age; } //protected: private: char name[20]; short age; }; int main() { Test t; t.setAge(20); t.setName("lixin"); char* arr; arr = t.showName(); cout << t.showAge() << endl; cout << arr << endl; return 0; }
1.this指针存在哪里?
void SetDate (Test* const this, int data)
在计算机中实际的成员函数是这样的,但是this这个指针的这个参数是隐藏的,不需要编程人员去写,也只是通过this指针才能识别不同对象调用相同的方法
2.this指针可以为空吗?
不可以,因为只有在类的成员函数中才存在this指针,而成员函数能调用肯定this指针也就不为空。
void setName(const char* name)
在常方法中,是不能修改值的,因此如果函数是不需要修改变量的值的情况下,最好加const。this指针其实就是使用了常方法进行定义的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。