类的继承
来源:互联网 发布:淘宝漏洞券 编辑:程序博客网 时间:2024/06/07 11:26
<span style="white-space:pre"></span><span style="background-color: rgb(255, 255, 255);">在这里全都只是我对学习c++过程的一些小总结,知识点没有那么细,但后面会慢慢深入的研究和探讨</span>
<span style="background-color: rgb(255, 255, 255);">我从大一到现在大二上半年,都对c/c++ 一直很迷茫,不是自己不会吧,是对于一些事情的抗拒,对与指针,还有对于类,我认为非常的难,还有数据结构,然后就产生惰性,不想去学习,而我之前的学习也是为了应付考试。而且前些天学了会java,以为自己会喜欢java,其实是自己在逃避,我不能在继续逃避了,我要面对我一切对于c/c++不会的东西,慢慢的去从基础去钻研,把原先和现在不会的知识好好的去掌握!!!</span>
<span style="background-color: rgb(255, 255, 255);"></span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); font-size: 24px;">1.类的继承和派生</span>
从基类(Mammal类)中派生出一个类(Dog类),这个新类中继承了(Mammal类)中的功能
2. 派生语法
要从一个类派生出另一个类,可在类声明中的类名后加上冒号,再指定类的访问控制(public、protected或private)
例如:class Dog : public Mammal
Dog从Mammal类那里继承了除了赋值构造函数、构造函数和析构函数外的其他所有函数成员,和相应的变量
3. 派生类的构造函数
派生类的构造函数,需要先对其基类进行构造,在对派生类进行构造
<span style="white-space:pre"></span>class Mammal:
<span style="white-space:pre"></span>{
<span style="white-space:pre"></span>public:
<span style="white-space:pre"></span>Mammal();
<span style="white-space:pre"></span>};
<span style="white-space:pre"></span>class Dog : public Mammal
{
<span style="white-space:pre"></span>public:
<span style="white-space:pre"></span>Dog();
<span style="white-space:pre"></span>private:
<span style="white-space:pre"></span>int age;
<span style="white-space:pre"></span>};
<span style="white-space:pre"></span>Dog::Dog(int age):
<span style="white-space:pre"></span>Mammal(),age(age){} // 对基类进行构造4.重载和重写
在这里重载和重写只进行泛泛的概括一下:
重载:
a: 在一个作用域内
b:函数名相同,所含的参数个数不同
例如:
<span style="white-space:pre"></span>class Mammal
<span style="white-space:pre"></span>{
<span style="white-space:pre"></span>public:
<span style="white-space:pre"></span>Mammal();
<span style="white-space:pre"></span>Mammal(int age);
<span style="white-space:pre"></span>private:
<span style="white-space:pre"></span>int age;<span style="white-space:pre"></span>
<span style="white-space:pre"></span>}
重写:
a:一个在基类,一个在派生类
b:函数名,参数,返回值都要相同,就连const也不能落下
`<span style="white-space:pre"></span>class Mammal:
{
public:
Mammal();
<span style="white-space:pre"></span>void speak() const { std::cout << "Mammal sound!\n"; }
};
class Dog : public Mammal
{
public:
Dog();
<span style="white-space:pre"></span>void speak() const { std::cout << "Woof!\n"; }
private:
int age;
};
Dog::Dog(int age):
Mammal(),age(age){} // 对基类进行构造
1 0
- c++类的继承:私有继承,公有继承,保护继承
- 类的继承 保护继承和私有继承
- C#类的继承-什么是继承
- 继承QVector----模板类的继承
- 类的一般继承与虚继承
- 继承:单继承、派生类成员的访问属性、多继承、菱形继承、虚继承,菱形虚拟继承
- java 类的继承
- 类的继承
- C#类的继承
- JavaScript类的继承
- C++ 类的继承
- 类的继承
- Java类的继承
- 类的继承
- 抽象类的继承
- 类的继承
- 类的继承用法
- 类的继承方式
- 让VMware ESXi虚拟交换机支持VLAN
- 《Missing Three》—Jake Shimabukuro
- 【随记】Matlab画四象限图形
- Codeforces 288E Polo the Penguin and Lucky Numbers
- Python生成随机数的方法
- 类的继承
- 3D引擎:Horde3D:Shader类里的 结构体,以及渲染一个 Logo的简单流程(三)
- IOS开发基础Object-C(11)—Category语法
- nodejs 快速实现url图片重定向
- Just Do It
- Asp.Net MVC 教程汇总
- <a>标签设置在新窗口中打开
- oracle 00845,修改memory_target大小
- poj-1236 Network Of Schools【强连通缩点】