博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类的继承
阅读量:3536 次
发布时间:2019-05-20

本文共 1126 字,大约阅读时间需要 3 分钟。

	在这里全都只是我对学习c++过程的一些小总结,知识点没有那么细,但后面会慢慢深入的研究和探讨
我从大一到现在大二上半年,都对c/c++ 一直很迷茫,不是自己不会吧,是对于一些事情的抗拒,对与指针,还有对于类,我认为非常的难,还有数据结构,然后就产生惰性,不想去学习,而我之前的学习也是为了应付考试。而且前些天学了会java,以为自己会喜欢java,其实是自己在逃避,我不能在继续逃避了,我要面对我一切对于c/c++不会的东西,慢慢的去从基础去钻研,把原先和现在不会的知识好好的去掌握!!!
	1.类的继承和派生
    从基类(Mammal类)中派生出一个类(Dog类),这个新类中继承了(Mammal类)中的功能
2. 派生语法
    要从一个类派生出另一个类,可在类声明中的类名后加上冒号,再指定类的访问控制(public、protected或private)
            例如:class Dog : public Mammal
     Dog从Mammal类那里继承了除了赋值构造函数、构造函数和析构函数外的其他所有函数成员,和相应的变量
        3. 派生类的构造函数
             派生类的构造函数,需要先对其基类进行构造,在对派生类进行构造
	class Mammal:
	{
	public:
		Mammal();
	};
	class Dog : public Mammal
{
	public:
		Dog();
	private:
		int age;
	};
	Dog::Dog(int age):
		Mammal(),age(age){}  //  对基类进行构造
 
4.重载和重写
在这里重载和重写只进行泛泛的概括一下:
重载:
a: 在一个作用域内
b:函数名相同,所含的参数个数不同
例如:
	class Mammal
	{
	public:
		Mammal();
		Mammal(int age);
	private:
		int age;	
	}
重写:
a:一个在基类,一个在派生类
b:函数名,参数,返回值都要相同,就连const也不能落下
`	class Mammal:
{
public:
Mammal();
		void speak() const { std::cout << "Mammal sound!\n"; }
};
class Dog : public Mammal
{
public:
Dog();
		void speak() const { std::cout << "Woof!\n"; }
private:
int age;
};
Dog::Dog(int age):
Mammal(),age(age){}  //  对基类进行构造
 

转载地址:http://okxhj.baihongyu.com/

你可能感兴趣的文章
[LeetCode javaScript] 824. 山羊拉丁文
查看>>
[LeetCode javaScript] 463. 岛屿的周长
查看>>
[LeetCode javaScript] 107. 二叉树的层次遍历 II
查看>>
[LeetCode javaScript] 637. 二叉树的层平均值
查看>>
[LeetCode javaScript] 1. 两数之和
查看>>
[LeetCode javaScript] 14. 最长公共前缀
查看>>
[LeetCode javaScript] 26. 删除排序数组中的重复项
查看>>
[LeetCode javaScript] 8. 字符串转换整数 (atoi)
查看>>
[LeetCode javaScript] 28. 实现strStr()
查看>>
cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:25
查看>>
前端网页学习7(css背景属性)
查看>>
前端网页学习8(css三大特性:层叠性,继承性,优先级)
查看>>
前端网页学习9(css盒子)
查看>>
python学习8(列表)
查看>>
JavaScript学习(new1)
查看>>
http GET 和 POST 请求的优缺点、区别以及误区
查看>>
JVM的4种垃圾回收算法、垃圾回收机制
查看>>
什么是分布式事务
查看>>
常用的分布式事务解决方案
查看>>
设计模式:单例模式 (关于饿汉式和懒汉式)
查看>>