C++
huhuhu1998
这个作者很懒,什么都没留下…
展开
-
c++:类和对象
类的基本认识C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。并且我们更习惯用class来替代struct。(其实他们存在着很多区别,但这样类比可以更好地有类的一个概念)举个例子:class Date{private: int _year; int _month; int _day;}访问限定符说明public修饰的成员在类外可以直接被访...原创 2019-04-22 15:58:11 · 109 阅读 · 0 评论 -
C++:继承
什么是继承?继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程,继承是类设计层次的复用。继承的格式class Person{ string _name = "peter"; // 姓名 int _age = 18; // 年龄};...原创 2019-04-23 13:41:00 · 95 阅读 · 0 评论 -
C++:菱形继承与虚拟继承与虚基表
单继承一个子类只有一个直接父类时称这个继承关系为单继承。多继承一个子类有两个或以上直接父类时称这个继承关系为多继承。菱形继承菱形继承是多继承的一种特殊情况。菱形继承的问题:从下面的对象成员模型构造,可以看出菱形继承有数据冗余和二义性的问题。在Assistant的对象中Person成员会有两份。二义性问题举例以及解决方法class Person{public: string...原创 2019-04-23 14:57:24 · 177 阅读 · 0 评论 -
C++:多态
什么是多态?多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。多态的实现条件调用函数的对象必须是指针或者引用。被调用的函数必须是虚函数,且完成了虚函数的重写。那么什么是虚函数,什么又是虚函数的重写?虚函数:就是在类的成员函数的前面加virtual。虚函数的重写:派生类中有一个跟基类的完全相同虚函数,我们就称子类的虚函数重写了基类的虚函数。完全相同是指,函数名、参数...原创 2019-04-23 16:26:22 · 86 阅读 · 0 评论 -
C++:多态的原理——虚函数表(虚表)
先来一道练习:`class Base{public: virtual void Func1() { cout << "Func1()" << endl; }private: int _b = 1;};sizeof(Base)的值是多少呢?通过观察测试我们发现b对象是8bytes,除了_b成员,还多一个__vfptr放在对象的前面,对象中的这个...原创 2019-04-24 12:08:28 · 432 阅读 · 0 评论