1.// 每个普通成员函数的形参都隐含了:Time* const this,Time是类2.// const成员函数形参隐含了:const Time* const this3.// 调用成员函数时,会把该对象的地址传递给this指针4.// void getK()const{} 等价于:void getK(const Time* const this){}5.// 在类内,可打印
在一个类的内部,用this表示指向这个类本身的指针。*this则是这个类自己。 这样一来就好办了。上面的函数实现当中,最后一行应该是 return *this; 还有要注意的是,在类的初始化时,是可以使用“=”的,也就是说,假设a是一个已经存在的Time对象,那么 Time b=a; 是一种合法的初始化类的方法。当然,在重载了...
【解析】1.this指针的用处:一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它...
正确答案:D解析:C++的类对象具有一个附加的隐含形参,即指向该类对象的指针this,与调用成员函数的对象绑定在一起,在成员函数的函数体可以显示使用this指针,选项A错误;类的友元函数可以不是普通的非成员函数,此时它没有this指针,选项B错误;静态成员函数并不与对象相关联,不属于任何一个类的对象,所以没有this指针,选...
上面的例子中,this函数同时被两个函数访存,且中断事件导致代码失去顺序性,产生跳转,这和多线程轮询执行一样,必然导致this指针被覆盖或篡改的问题。 下面来解决这个问题: 首先肯定不能用一个统一的this指针为每个模块共享使用,应当为每个模块独立创建一个私有的this指针,说到私有,也就是每个C文件下的this指针是独立存...
在C++中,this指针是一个隐含的指针,它指向调用成员函数的对象本身。它主要在类的成员函数内部使用,尤其是当成员函数需要访问调用它的对象的成员(包括成员变量和成员函数)时非常有用。this指针的存在允许成员函数知道它们被哪个对象调用,从而能够访问和修改该对象的成员。在成员函数内部,你可以直接使用...
解析:C++中,静态成员函数不属于任何类对象,它独立于类的任意对象而存在,由所有类对象所共享,它没有this指针,只有类的非静态成员函数才有this指针,选项A正确;this指针存储着调用对象的地址,选项B正确;成员函数不能定义this指针,它是由编译器隐含定义的,选项C正确;在构造函数中对象还没有完成生成,但这并不意味着对...
this 指针存在的目的是() A. 保证基类私有成员在子类中可以被访问 B. 保证基类保护成员在子类中可以被访问 C. 保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码 D. 保证基类公有成员在子类中可以被访问 相关知识点: 试题来源: 解析 C 答案: C 解析:(P86)C++要求函数在被调用之前,应当让...
“ this”指针作为隐藏参数传递给所有非静态成员函数调用,并且可用作所有非静态函数主体内的局部变量。“ this”指针在静态成员函数中不可用,因为可以在没有任何对象(带有类名)的情况下调用静态成员函数。 对于X类, this指针的类型为'X *'。另外,如果X的成员函数声明为const,则此指针的类型为'const X *' ...
“ this”指针作为隐藏参数传递给所有非静态成员函数调用,并且可用作所有非静态函数主体内的局部变量。“ this”指针在静态成员函数中不可用,因为可以在没有任何对象(带有类名)的情况下调用静态成员函数。 对于X类, this指针的类型为'X *'。另外,如果X的成员函数声明为const,则此指针的类型为'const X *' ...