C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C++基本特性(2)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
2008-09-19 20:06

1.继承。

父类与子类:

#include <iostream.h>
class Animal
{
public:
void eat()
{
cout<<"Animal eat"<<endl;
}
void breathe()
{
cout<<"Animal breathe"<<endl;
}
void sleep()
{
cout<<"Animal sleep"<<endl;
}

};
class Fish : public Animal
{

};
void main()
{
Animal an;
an.eat();
Fish fh;
fh.sleep();
}

如上代码.

关于3种继承方式.

public:允许任何访问

protected:允许子类访问。外部或main()函数不能访问.

private:任何都不可访问,除非自己!

基类与子类继承特性:

如图:

2.子类继承父类,如同时有构造函数。先构造父类函数,然后构造子类,而析构函数与之相反!

效果如下:

代码如:

2.向父类构造函数传递参数.

class Fish : public Animal
{
public:
Fish():Animal(400,300),a(0) //向基类带参数的构造函数传递参数!也可以在本类进行常量初始化
{
   cout<<"Fish construct"<<endl;
}
~Fish()
{
   cout<<"Fish deconstruct"<<endl;
}
private:
const int a;
};

3.函数的覆盖

父类与子类用相同的函数。即覆盖掉原来的函数函数重载是发生一个类中!

Animal::breathe(); ::是作用域标示符,是指定后面的变量或函数是属于哪个类的。

技巧:类型转换.

能不能转换,主要看内存模型.

如.int 转 char .(丢失精度),char 转int 允许。

4.多态性.

函数:你想用virtual函数.作用:如果子类有breahe方法,就调用breathe,如没有调用父类的。

纯虚函数:virtual void breathe()=0;.即抽象类!必须在子类实现了这个函数!即先有名称,没内容,在派生类实现内容!

5.引用

变量的别名.

int a=6;

int &b=a; //定义的时候必须初始化.

与指针的区别:

指针需要内存空间.而引用不需要。就是没有自己的地址。例子:

void change(int &a,int &b)
{


}

void main()

{

int x=6;
int y=7;
change(x,y);//调用直接初始化

大佬总结

以上是大佬教程为你收集整理的C++基本特性(2)全部内容,希望文章能够帮你解决C++基本特性(2)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: