c++“友元函数”、“常成员函数”、“派生类、基类”的常见问题请教?
不同类之间的成员函数怎么调用?派生类怎么调用基类的成员变量?
是通过定义为友元函数来调用基类的成员变量吗?
2.友元函数
普通函数声明为友元函数,可以访问类的成员函数
友元类可以访问其他类的成员变量
3.常成员函数可以引用成员变量,不同类的成员变量也可以引用吗?
常成员函数和友元函数的区别?
4.静态成员变量,不可以修改它的值
通过对象和类名就可以调用
类名不可以直接调用成员函数!
把成员函数申明为静态函数,类名就可以调用成员函数!
其他类可以访问这个类的.静态成员变量吗?
5.虚函数
把父类成员函数定义为虚函数
通过指针去调用派生类的成员函数
6.复制构造函数
把对象进行传递
A.a1(100)
A.a2=a1
基本这些就是学习c++函数常遇到的问题和疑问,在这里请教大家了! 展开
派生类和基类之间的成员函数可以相互调用!
不同类之间的成员函数怎么调用?::只有public的成员函数可以互相调用,非静态函数一律生成实例后方可
派生类怎么调用基类的成员变量?
是通过定义为友元函数来调用基类的成员变量吗?::如果是public或protected可以直接使用,private可以通过友元方式(强烈建议不要这样做)
2.友元函数
普通函数声明为友元函数,可以访问类的成员函数
友元类可以访问其他类的成员变量
3.常成员函数可以引用成员变量,不同类的成员变量也可以引用吗?::首先,常成员函数也是成员函数,和一般的成员函数唯一的区别是不能修改类的属性
常成员函数和友元函数的区别?
::完全不同,常成员函数参考前面的解释;友元函数是个异类:纯粹是为了向其他的指定类开放某些功能而存在的;
4.静态成员变量,不可以修改它的值
通过对象和类名就可以调用
类名不可以直接调用成员函数!
把成员函数申明为静态函数,类名就可以调用成员函数!
其他类可以访问这个类的.静态成员变量吗?
::声明为public的可以直接访问,其他的可以通过友元方式(强烈建议不要这样做)
5.虚函数
把父类成员函数定义为虚函数
通过指针去调用派生类的成员函数
6.复制构造函数
把对象进行传递
A.a1(100)
A.a2=a1
基本这些就是学习c++函数常遇到的问题和疑问,在这里请教大家了!
声明为public的变量,不管是不是静态成员变量,其他类都可以访问,是这样吗?
没错。区别仅在于static的生命周期是全局的,非static的需要生成实例才可以使用