关于c++的几个问题?急急

来源:百度知道 编辑:UC知道 时间:2024/09/22 10:32:37
1.可以申明字符串变量的引用吗?
2.静态成员函数的作用是什么?书上说是为了处理静态数据成员,可是类中的一般成员函数也可以处理静态数据成员呀,那静态成员函数不是多余的吗?
静态成员函数的返回值是不是静态数据?

1、可以, 声明引用的时候要同时进行初始化
2、static成员函数不是类对象的组成部分,独立于任何对象而存在。可以直接访问静态成员,不能直接访问非静态成员。静态成员函数的主要功能应该是可以在不定义对象的情况下通过作用域运算符就能使用。
3、不是

1.string本来就是char数组
2.一些回调函数 比如WndProc必须是全局函数
如果封装在类里面就必须声明成static

静态函数 函数调用的结果不会访问或者修改任何对象(非static)数据成员,这样的成员声明为静态成员函数比较好。且如果static int func(....)不是出现在类中,则它不是一个静态成员函数,只是一个普通的全局函数,只不过由于 static 的限制,它只能在文件所在的编译单位内使用,不能在其它编译单位内使用。
静态成员函数的声明除了在类体的函数声明前加上关键字static,以及不能声明为const或者volatile之外,与非静态成员函数相同。出现在类体之外的函数定义不能制定关键字static。
静态成员函数没有this指针。
=================================================================
Static关键字
在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。
用static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员
##静态方法不再是针对于某个对象调用,所以不能访问非静态成员
可以通过对象引用或类名(不需要实例化)访问静态成员
java:::
public class Cat
{
private static int sid = 0;
private String name;
int id;
Cat(String name)
{
th