上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 60 下一页

2016年7月4日

C++ 抽象类一(多继承与赋值兼容性原则)

摘要: //多继承与赋值兼容性原则 #include using namespace std; class Point{ public: Point(){ a = 1; b = 2; } int a; int b; }; class PointA { public: PointA(){ c = 3; } ... 阅读全文

posted @ 2016-07-04 11:02 寒魔影 阅读(1047) 评论(0) 推荐(0)

C++ 类的多态五(多态的语法本质分析)

摘要: //多态的语法本质分析 #include using namespace std; /* 三种易混淆的多态场景 */ class Point{ public: Point(int b=0){ this->b = b; } virtual void Print(){ cout Print(); //此时p3->Print();会... 阅读全文

posted @ 2016-07-04 09:55 寒魔影 阅读(422) 评论(0) 推荐(0)

2016年7月2日

C++ 类的多态四(虚析构函数的重要性)

摘要: //虚析构函数的重要性 #include<iostream> using namespace std; /* 虚析构函数 主要用在多态中,用来释放子类对象内存空间,如果不使用虚析构函数, 那么在多态的场景下,使用delete关键字只能执行父类析构函数 子类对象中没有父类对象 父类中有虚函数,子类中重 阅读全文

posted @ 2016-07-02 18:31 寒魔影 阅读(348) 评论(0) 推荐(0)

C++ 类的多态三(多态的原理--虚函数指针--子类虚函数指针初始化)

摘要: //多态的原理--虚函数指针--子类虚函数指针初始化 #include using namespace std; /* 多态的实现原理(有自己猜想部分) 基础知识: 类中的成员函数本质上是C语言中的全局函数,只是在全局函数的参数列表中多加了一个结构体指针参数 详解: 对于类中没有用virtual关键字修饰的成员函数,c++编译器在静态编译的时候,c++就会确定对象调用的全局函数 ... 阅读全文

posted @ 2016-07-02 16:25 寒魔影 阅读(872) 评论(0) 推荐(0)

C++ 类的多态二(函数重载--函数重写--函数重定义)

摘要: //函数重载--函数重写--函数重定义 #include using namespace std; /* 函数重载: 必须在一个类中进行(子类无法重载父类中的函数) 子类无法重载父类的函数,父类同名函数将被子类的同名函数覆盖 重载是在编译期间根据参数类型,顺序,个数决定的函数调用 函数重写 必须发生于父类和子类之间 并且父类和子类中的函数必须有完全相同的函数签名 使用virtual声明之后... 阅读全文

posted @ 2016-07-02 12:18 寒魔影 阅读(869) 评论(0) 推荐(0)

2016年7月1日

C++ 面向对象小结

摘要: 面向对象三大概念封装 突破C语言函数的概念(可以把变量,方法一起传递)继承 代码复用(复用别人写好的代码)多态 系统升级(不同的子类执行相同的方法有不同的效果) 多态成立三个条件1.要有继承2.要有虚函数重写3要有基类指针(或者基类引用)指向派生类对象 阅读全文

posted @ 2016-07-01 16:04 寒魔影 阅读(247) 评论(0) 推荐(0)

C++ 类的多态一(virtual关键字--构造函数深刻理解)

摘要: //virtual关键字--构造函数深刻理解 #include using namespace std; /* C语言编译器,c++编译器全部是静态链编,就是一段一段代码的编译,不会考虑上下文 例如编译到void ProtectA(Point pin) 编译器就会认为pin就是Point类型, 而不会去联系上下文,去分析pin有没有可能是子类对象 virtual关键字会自动检测这个父类对象... 阅读全文

posted @ 2016-07-01 09:59 寒魔影 阅读(739) 评论(0) 推荐(0)

2016年6月30日

C++ 类的继承六(多继承的二义性--虚基类)

摘要: //多继承的二义性--虚基类(了解为主) #include using namespace std; /* 多继承在现在的项目开发中一般不使用,他会增加项目的复杂度 */ class Point{ public: Point(){ x = 1; y = 1; } int x; int y; }; class PointA :v... 阅读全文

posted @ 2016-06-30 21:02 寒魔影 阅读(278) 评论(0) 推荐(0)

C++ 类的继承五(类继承中的static关键字)

摘要: //类继承中的static关键字 #include using namespace std; /* 派生类中的静态成员 基类定义的静态成员,将被所有派生类共享 根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质 派生类中访问静态成员,用以下形式显示说明: 类名::成员 或者通过对象访问 对象名.成员 */ class PointA{ public: ... 阅读全文

posted @ 2016-06-30 14:29 寒魔影 阅读(2332) 评论(0) 推荐(0)

C++ 类的继承四(类继承中的重名成员)

摘要: //类继承中的重名成员 #include using namespace std; /* 自己猜想: 对于子类中的与父类重名的成员,c++编译器会单独为子类的这个成员变量再开辟一块内存空间, 把这个重名的成员变量当成子类的独有属性 在子类对象中如果访问重名成员,会默认访问子类独有那个成员变量,而不是访问父类的成员变量 对于从父类继承的所有成员,c++编译器会在子类对象的内存空间前部分放置父... 阅读全文

posted @ 2016-06-30 10:17 寒魔影 阅读(3170) 评论(0) 推荐(0)

上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 60 下一页

导航