您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
第16讲-this指针和类的继承
发布时间:2021-05-16 11:49:52编辑:雪饮阅读()
CodeBlocks(Code::Blocks)的使用
codeblocks是一款开源的跨平台开发软件。codeblocks支持使用广泛的c以及c++程序开发,软件本身就是使用c++开发,有着快速的反应速度,而且体积也不大,对于c++用户来说,是最适用的软件。
我这里下载的是codeblocks-20.03mingw-setup.exe
这里简单介绍下如何新建一个项目
![this指针.png](/d/file/xuewuzhijing/xindebiji/e18b5d3304f2baa7491a225dc6fe9794.png)
选择控制台程序
![this指针.png](/d/file/xuewuzhijing/xindebiji/0d787a420a42fcbcf30c87ffefb67088.png)
选择c++类型
![this指针.png](/d/file/xuewuzhijing/xindebiji/adbf1a5e74262f9a9ae9b5f93686c2f5.png)
填写下项目的一些文件相关信息,这里需要注意这里cbp是正常的,虽然c++文件类型是cpp,但是这里这个不是c++,而是这个code blocks的项目文件格式。
![this指针.png](/d/file/xuewuzhijing/xindebiji/b3343dd8f45f612b8248194f88f7a5a5.png)
然后选择一个编译器
![this指针.png](/d/file/xuewuzhijing/xindebiji/b3cc870925fdde84646a9268cee3dcad.png)
最后就可以看到一个项目建立完成了,这里默认建立了一个main.cpp的c++入口程序
![this指针.png](/d/file/xuewuzhijing/xindebiji/bf1d7d5d79be9613d44b3d014acef1b4.png)
C++ this 指针
在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。
C++ 继承
面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。
当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。
继承代表了 is a 关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。
一个简单的继承实例如:
#include <iostream>
#include <string>
//动物类
class Animal{
public:
std::string mouth;
void eat();
void sleep();
void drool();
};
//动物类-吃的方法
void Animal::eat()
{
std::cout<<"I'm eatting!"<<std::endl;
}
//动物类-睡觉的方法
void Animal::sleep()
{
std::cout<<"I'm sleeping! Don't disturb me!"<<std::endl;
}
//动物类-流口水的方法
void Animal::drool()
{
std::cout<<"我是公的,看到母的我会流口水,我正在流口水!"<<std::endl;
}
//猪继承动物类并扩展定义爬的方法
class Pig:public Animal
{
public:
void climb();
};
void Pig::climb()
{
std::cout<<"我是一个漂亮的家伙,我爬树!"<<std::endl;
}
//乌龟继承动物类并扩展定义游泳的方法
class Turtle:public Animal
{
public:
void swim();
};
void Turtle::swim()
{
std::cout<<"我是一只忍者神龟!我可以和人一样走路,不需要爬"<<std::endl;
}
int main()
{
Pig pig;
Turtle turtle;
pig.eat();
turtle.eat();
pig.climb();
turtle.swim();
return 0;
}
编译并运行结果如:
I'm eatting!
I'm eatting!
我是一个漂亮的家伙,我爬树!
我是一只忍者神龟!我可以和人一样走路,不需要爬
Process returned 0 (0x0) execution time : 0.116 s
Press any key to continue.
在code blocks中编译运行可以点这里
![this指针.png](/d/file/xuewuzhijing/xindebiji/6b1092dc20b2bbc8cf0e1ac195b280a1.png)
当然如果目前已经处于运行的控制台程序若要重新运行,则你可以先关闭这个控制台,否则该按钮是灰色的,无法点击。
关键字词:this指针,继承