![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
lhjky
这个作者很懒,什么都没留下…
展开
-
面向对象编程(C++)学习笔记四
继承:构造与析构有child累继承于Parent类class Child : public Parent{};当创建一个子类对象时:(编译器默认动作)子类对象构造时,先调用父类的构造函数,再调用子类的构造函数;子类对象析构时,先调用子类的析构函数,再调用父类的析构函数;当父类有多个构造函数时,可以显示地调用其中一个构造函数;如果没有现实调用,则调用了父类的默认构造函数...原创 2019-06-19 12:04:26 · 128 阅读 · 0 评论 -
面向对象编程(C++)学习笔记二
一.头文件与源文件的分离class的分离式写法把class的成员函数定义写在class之外,即class的大括号的外面。例如,main.cppclass Object{public:int x;void Test(); //成员函数的声明};void Object :: Test(){// 成员函数写在类外面,加上类名限定}总结:(1)成员变量,还是...原创 2019-06-15 23:08:19 · 152 阅读 · 0 评论 -
面向对象编程(C++)学习笔记三
一.动态创建对象对于class类型,必须用new/delete来创建销毁对象,malloc/free是无法胜任的。new:动态创建一个对象(1)申请一块内存(2)内部调用了构造函数delete:释放这个对象(1)调用了析构函数(2)释放内存动态创建一个对象:Circle* c = new Circle(); //默认构造函数Circle* c = new Circle; //不加括号也...原创 2019-06-16 13:40:28 · 124 阅读 · 0 评论 -
面向对象编程(C++)学习笔记五
一 拷贝构造函数拷贝构造函数是一种特殊的构造函数(copy constructor)(1) 它是构造函数,所以函数名是类名,没有返回值(2)它是特殊的构造函数,参数形式是固定的例如,class Object{public:Object(const Object& other);};拷贝构造函数的含义:以一个对象为蓝本,来构造另一个对象。Object b;Object...原创 2019-06-24 17:29:41 · 73 阅读 · 0 评论 -
面向对象编程(C++)学习笔记七
内部类定义内部类把一个类的定义写在另一个类的内部,则称里面的这个类为内部类。例如,Inner就是,class AAA{public:class Inner{public:char name[64];};};内部类的使用使用内部类时,类名要使用全称AAA::Inner,例如,int main(){AAA::Inner a;strcpy(a.name,"AnXin...原创 2019-07-04 11:26:41 · 131 阅读 · 0 评论 -
面向对象编程(c++)学习笔记六
一 类的朋友class Object{public:Object(int v):value(v){}private:int value;};void Print(Object* P){printf("value : %d \n", P->value);}显然,在全局函数Print中无法访问Object对象的私有成员。类的朋友的声明在类A中,用friend关键字可...原创 2019-06-30 10:36:14 · 245 阅读 · 0 评论 -
面向对象编程(C++)学习笔记八
函数模版背景:在一个double型数组中,查找最大的数;在一个float型数组中,查找最大的数;在一个Object[]数组中,查找最大的元素。算法都是一样的,遍历数组,找出最大值,只是元素的类型不一样而已。如果每一种算法都重载了一个findmax函数,是否有点太笨拙了呢?模版,template:定义一个算子,自动适应各个类型。语法:template<typename T&...原创 2019-07-07 12:21:23 · 115 阅读 · 0 评论