#include<iostream.h>
//定义一个动物类
class Animal
{
public:
void eat();//添加方法
{
cout<<"animal eat"<<endl;
}
void sleep();//添加方法
{
cout<<"animal sleep"<<endl;
}
void breathe();//添加方法
{
cout<<"animal breathe"<<endl;
}
};
//定义一个鱼的类

class fish
{
public:
void eat();//添加方法
{

}
void sleep();//添加方法
{

}
void breathe();//添加方法
{

}
};

如果还想定义一个猫,狗,羊......一个一个类的去定义太麻烦了

//用继承的办法来定义一个鱼的类
//那么Animal类有的方法,fish就会继承
class fish :public Animal
{

};

//fish 调用sleep方法
void main()
{
Animal an;
fish fh;
fh.sleep();
}

类的继承,父类(基类),子类(派生类)

有三种继承的方式,public,private (在内部也不能被访问,否则,编译会出错,如下图,把breathe这个方法定义为了私有,那么,在fish中是不能访问来调用这个方法的),protected(对其子类来说,在内部可以访问的)

#include<iostream.h>
//定义一个动物类
class Animal
{
public:
Animal()
{
cout<<"animal construct"<<endl;
}
void eat()//添加方法
{
cout<<"animal eat"<<endl;
}
void sleep()//添加方法
{
cout<<"animal sleep"<<endl;
}
void breathe()//添加方法
{
cout<<"animal breathe"<<endl;
}
};
//用继承的办法来定义一个鱼的类
//那么Animal类有的方法,fish就会继承
class fish :public Animal
{
public:
fish()
{
cout<<"fish construct"<<endl;
}
};

//fish 调用sleep方法
void main()
{
Animal an;
fish fh;
fh.sleep();
}

(在构造过程中是基类先构造)

若定义一个析构函数来调用,是鱼先析构,Animal后析构(析构先子类后父类)

vc++如何创建程序-构造和继承的更多相关文章

  1. vc++如何创建程序01

    1 .选择文件+新建(ctrl+N),然后选择一个空的工程,完成 2 然后在选择file新建,在files文件下面选择一个C++Source File,并取个文件名(比如为point可以不带.c) 我 ...

  2. vc++如何创建程序-设置断点-函数的覆盖,c++的多态性

    ---恢复内容开始--- 如何设置断点小笔记 将光标移动到你想设置断点的地方,按一下F9键即可,或者你可以用鼠标左键点击小手图标. CommentOut多行注释 函数的覆盖是在父类与子类之间的,函数的 ...

  3. vc++如何创建程序-构造函数

    如果给Animal带参,则提示没有缺省的构造函数了,缺省就是不带参数的 改进:从子类当中向基类传递代参的,这样他就会给Animal传递400,300 对一个常量来调用 #include<iost ...

  4. vc++如何创建程序-析构函数01

    #include<iostream.h>class Point{public: int x; int y; Point() { x=0; y=0; }//构造函数是用来创建函数本身,那么, ...

  5. vc++如何创建程序--利用快捷键进行多行注释

    Eclipse同时注释多行①:ctrl+/或 ②:ctrl+shift+/ : Visual studio先按ctrl+k 再按 ctrl+c 2.在VC++6.0中需要自己设置快捷键,设置方法链接如 ...

  6. vc++如何创建程序-函数的重载

    重载构成的条件:函数的参数类型,参数个数不同,才能构成函数的重载 函数重载分为两种情况: 1 .(1)void output(); (2)int output(); 2 .(1)void output ...

  7. vc++如何创建程序-构造函数02

    1.若忘记了赋值,出现运行结果是很大的负值(因为我们定义的x与y这两个成员变量存储在内存中是一个随机的值) 当我们调用时,随机输出. //包含输入输出的头文件#include<iostream. ...

  8. 用VC制作应用程序启动画面

    摘 要:本文提供了四种启动画面制作方法. 使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序):二是 可以用来显示软件名称和版权等提示信息.怎样使用VC++制作应用程序的启动画面呢 ...

  9. [Windows][VC]开机自动启动程序的几种方法

    原文:[Windows][VC]开机自动启动程序的几种方法 很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsof ...

随机推荐

  1. 《奋斗吧!菜鸟》 第八次作业:Alpha冲刺 Scrum meeting 3

    项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11012922.html 团队名称 奋斗吧!菜鸟 作业学习目标 A ...

  2. 嵌入式linux实现NAT端口映射

    场景: 1.嵌入式linux系统内已经在2个网卡,分别为eth0(内网物理网卡,ip地址:192.168.1.4)以及ppp1(VPN客户端通过PPTP协议拨号生成的虚拟网卡,ip地址:192.168 ...

  3. mongodb--作为windows服务启动

    注意需要以管理员权限运行CMD

  4. [bzoj3932][CQOI2015]任务查询系统_主席树

    任务查询系统 bzoj-3932 CQOI-2015 题目大意:最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的任务用三元组(Si,Ei,Pi)描述 ...

  5. String 经常用法最优算法实现总结 (一)

    <pre name="code" class="java"><span style="font-family: Arial, Hel ...

  6. POJ 2373

    原本一道挺简单的DP题,思路有了,运用单调队列,但在写单调队列时写挫了... 这道题只需要计算偶数位置的即可,这是显而易见的,我有注意过这情况,写的时候却没在意...--! 加入队列的元素应该当前no ...

  7. [Android]推断网络连接是否可用

    /** * 推断移动网络是否开启 * * @param context * @return */ public static boolean isNetEnabled(Context context) ...

  8. Heat-AutoScaling

    在openstack的I版本号中,Heat中加入了对于AutoScaling资源的支持,github上也提供了相应的AutoScaling的模板,同一时候也支持使用ceilometer的alarm来触 ...

  9. 开发,从需求出发 &#183; 之四 春天在这里

    首先,我要大字标语表达立场: 你所使用的framework & non-core features,就跟女人穿在身上的衣服一样,越少越好! watermark/2/text/aHR0cDovL ...

  10. 轻快的vim(一):移动

    断断续续的使用VIM也一年了,会的始终都是那么几个命令,效率极低 前几个星期把Windows换成了Linux Mint,基本上也稳定了下来 就今晚,我已经下定决心开始新的VIM之旅,顺便写一系列的笔记 ...