06 2016 档案

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 寒魔影 阅读(271) 评论(0) 推荐(0) 编辑

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

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

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

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

C++ 类的继承三(继承中的构造与析构)
摘要://继承中的构造与析构 #include using namespace std; /* 继承中的构造析构调用原则 1.子类对象在创建时会首先调用父类的构造函数 2.父类构造函数执行结束后,执行子类的构造函数 3.当父类的构造函数有参数时,需要在子类的初始化列表中显示调用 4.析构函数调用的先后顺序与构造函数相反 继承与其他类做成员变量混搭的情况下,构造和析构调用原则 1.先构造父类,在构造... 阅读全文

posted @ 2016-06-29 22:15 寒魔影 阅读(491) 评论(0) 推荐(0) 编辑

C++ 类的继承二(赋值兼容性原则)
摘要://赋值兼容性原则 #include using namespace std; class PointA{ public: PointA(){ x = 0; y = 0; } void Set(){ } private: int x; int y; }; class PointB :public PointA{... 阅读全文

posted @ 2016-06-29 21:37 寒魔影 阅读(997) 评论(0) 推荐(0) 编辑

C++ 类的继承一(访问控制)
摘要://类的继承 #include using namespace std; /* 面向对象中的继承类之间的父子关系 1.子类拥有父类所有的成员属性和成员函数(包括私有成员变量) 2.子类就是一种特殊的父类 3.子类对象可以当作父类对象使用 4.子类可以拥有父类没有的方法和属性 c++中的类成员访问级别(public,protected,private) 类成员访问级别设置原则 1.需要被外界... 阅读全文

posted @ 2016-06-29 20:46 寒魔影 阅读(4722) 评论(0) 推荐(1) 编辑

C++ 匿名对象产生场景
摘要://匿名对象产生的三种场景 #include using namespace std; class Point{ public: Point(int a,int b){ cout x = a; this->y = b; } Point(Point &a1){ cout x = a1.x; this->y =... 阅读全文

posted @ 2016-06-29 10:37 寒魔影 阅读(1208) 评论(0) 推荐(0) 编辑

C++ 类中的const关键字
摘要://类中的const关键字 #include using namespace std; class Point{ public: //这个const关键字本质上修饰的是this指针 int GetX() const //====>int GetX(const this) { //因为this被隐藏,所以const关键字只好写在函数后面 /... 阅读全文

posted @ 2016-06-28 21:49 寒魔影 阅读(201) 评论(0) 推荐(0) 编辑

C++ 运算符重载四(自定义数组类)
摘要://自定义数组类 #include using namespace std; //分析:能获取数组长度,添加元素,删除元素,修改元素 //要求重载[],=,==,!=运算符 class MyArray { private: int mLength; int* mSpace; public: MyArray(int length){ cout (mLe... 阅读全文

posted @ 2016-06-28 21:29 寒魔影 阅读(999) 评论(0) 推荐(0) 编辑

C++ 运算符重载三(链式编程)
摘要://运算符重载之链式编程 #include using namespace std; //对于友元函数重载运算符只适用于左操作数是系统变量的场景 //因为成员无法在系统变量中添加类成员函数,只能靠全局函数来实现 //链式编程的本质是:函数返回值当左值 class Point { public: //注意友元函数中,返回值不同,友元函数就会不同,跟函数重载有区别 friend o... 阅读全文

posted @ 2016-06-27 16:25 寒魔影 阅读(821) 评论(0) 推荐(0) 编辑

C++ 运算符重载二(一元运算符重载)
摘要://一元运算符重载 #include using namespace std; class Point { public: Point(int x,int y){ this->x = x; this->y = y; } Point(Point &p){ this->x = p.x; this->y = p.... 阅读全文

posted @ 2016-06-27 11:32 寒魔影 阅读(1371) 评论(0) 推荐(0) 编辑

C++ 运算符重载一(二元运算符重载)
摘要://二元运算符重载 #include using namespace std; class Point { public: Point(int x,int y){ this->x = x; this->y = y; } //为什么要使用友元函数呢 friend Point operator+(Point &p1, Point &p... 阅读全文

posted @ 2016-06-27 10:26 寒魔影 阅读(1409) 评论(0) 推荐(0) 编辑

C++ 友元类,友元函数
摘要://友元函数 友元类 #include using namespace std; class PointB { public: friend class PointC; //类PointC是类PointB的友元类--意味着类PointC对象可以调用PointB中所有的成员 void Test(){ ; } private: int ... 阅读全文

posted @ 2016-06-24 09:59 寒魔影 阅读(204) 评论(0) 推荐(0) 编辑

C++ 类的抽象初练
摘要:/* 某商店经销一种货物,货物的购进和卖出以箱为单位,各箱的重量不一样, 因此商店需要目前库存的总重量。 现在用c++模拟商店货物购进和卖出的情况 */ #include using namespace std; //货物类 class Goods{ public: Goods(int w=0){ this->weight = w; } int G... 阅读全文

posted @ 2016-06-23 23:18 寒魔影 阅读(316) 评论(0) 推荐(0) 编辑

C++ 类的对象管理模型初讲
摘要://类的对象管理模型初讲 #include using namespace std; class PointA{ private: int x;//占据4个字节大小的内存空间 int y;//占据4个字节大小的内存空间 int z;//占据4个字节大小的内存空间 };//总共占据12个字节 class PointB{ public: PointB(int _... 阅读全文

posted @ 2016-06-23 13:51 寒魔影 阅读(522) 评论(0) 推荐(0) 编辑

C++ 类中的静态成员变量,静态成员函数
摘要://类中的静态成员变量,静态成员函数 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; /* 静态成员函数是属于整个类, static修饰的变量,是属于类,,所有的对象都能共享用。 在类的静态数据成员函数中,是不能调用具体的对象的变量的属性, 这是因为static修饰的变量是整个类共享,在静态成员函数中使用一个对象的成员... 阅读全文

posted @ 2016-06-23 11:34 寒魔影 阅读(579) 评论(0) 推荐(0) 编辑

C++ new delete操作符
摘要://new delete操作符 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; /* 1.new delete 操作符号 都是 c++的关键字 类似于 C语言中的 malloc()函数 free()函数 2.定义对象时,使用了new关键字,会为这个对象在堆上分配内存,不使用new 关键字会直接在栈上分配内存 n... 阅读全文

posted @ 2016-06-22 22:39 寒魔影 阅读(343) 评论(0) 推荐(0) 编辑

C++ 构造中调用构造
摘要://构造中调用构造 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; class Point{ public: Point(int _x,int _y,int _z){ cout << "自定义的有参构造函数被调用了1" << endl; x = _x; y = _... 阅读全文

posted @ 2016-06-22 21:41 寒魔影 阅读(200) 评论(0) 推荐(0) 编辑

C++ 匿名对象的生命周期
摘要://匿名对象的生命周期 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; class Point{ public: Point(){ cout << "自定义的无参构造函数被调用了1" << endl; } ~Point(){ cout << "自定义的析构函数被调... 阅读全文

posted @ 2016-06-22 21:30 寒魔影 阅读(1549) 评论(0) 推荐(0) 编辑

C++ 构造函数的对象初始化列表
摘要:初始化列表,数组初始化 阅读全文

posted @ 2016-06-22 18:01 寒魔影 阅读(795) 评论(0) 推荐(0) 编辑

C++ 类的构造函数使用规则
摘要://类的构造函数使用规则 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class PointA{ }; class PointB{ public: PointB(int _a, int _b, con 阅读全文

posted @ 2016-06-22 17:36 寒魔影 阅读(537) 评论(0) 推荐(0) 编辑

C++ 类的深拷贝和浅拷贝完美解决
摘要://类的深拷贝和浅拷贝 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; class Point{ public: Point(int _a,int _b,const char *pin/*in*/){ x = _a; y = _b; remark = (char ... 阅读全文

posted @ 2016-06-22 17:06 寒魔影 阅读(7873) 评论(0) 推荐(0) 编辑

C++ 匿名对象初始化新对象
摘要://c++中匿名对象初始化新对象 #include using namespace std; class Point{ public: Point(){ cout << "我是自定义的无参构造函数1" << endl; } Point(Point &pm){ cout << "我是自定义的拷贝构造函数3" << endl; } ... 阅读全文

posted @ 2016-06-22 16:26 寒魔影 阅读(1480) 评论(0) 推荐(0) 编辑

C++ 构造函数与析构函数
摘要://构造函数--析构函数 #include using namespace std; class Point{ public: /*无参构造函数*/ Point(){ x = 0; y = 1; cout << "无参构造函数被执行了.." << endl; } /*有参构造函数*/ Point(int _x... 阅读全文

posted @ 2016-06-21 17:46 寒魔影 阅读(202) 评论(0) 推荐(0) 编辑

C++ c++与C语言的区别(空结构体)
摘要://区别⑨:空结构体声明(C++版本) #include using namespace std; struct A{}; class B{}; void main(){ printf("C++中空结构体内存大小是%d\n", sizeof(A));//打印 1 printf("C++中空类内存大小是%d\n", sizeof(B)); //打印1 //在C++中,空... 阅读全文

posted @ 2016-06-20 15:01 寒魔影 阅读(1013) 评论(0) 推荐(0) 编辑

C语言 百炼成钢24
摘要:/* 题目60:从键盘中输入一个不超过40个字符的字符串, 再输入3个位数(每次删除一个字符),删除对应 位数的字符,然后输出删除指定字符后的字符串。 输入:hellokityManGood 3 6 9 helokityManGood heloktyManGood heloktyMnGood 输出:heloktyMnGood 要求1:编写业务接口并实现核心功能 70分 要求2:写出测... 阅读全文

posted @ 2016-06-19 14:33 寒魔影 阅读(286) 评论(0) 推荐(0) 编辑

C语言 百炼成钢23
摘要:/* 题目59:链表如下 typedef struct _LinkList { int data; struct _LinkList*next; } LinkList; 有如下结点数据域 1 2 3 4 5 6 7 8 12 19 。。。。 要求1:创建链表 要求2:删除结点值为偶数的结点 ;70分 要求3:编写测试用例 30分 */ #include #include #include... 阅读全文

posted @ 2016-06-19 11:38 寒魔影 阅读(190) 评论(0) 推荐(0) 编辑

C语言 百炼成钢22
摘要:/* 题目58: 编写一个业务函数,实现按行读取文件。把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出。 函数原型有两个,任意选择其一 要求1:请自己任意选择一个接口(函数),并实现功能;70分 要求2:编写测试用例。30分 要求3:自己编写内存释放函数 */ #define _CRT_SECURE_NO_WARNINGS #include #include #include //... 阅读全文

posted @ 2016-06-19 00:11 寒魔影 阅读(242) 评论(0) 推荐(0) 编辑

C语言 百炼成钢21
摘要://题目57:编写一个业务函数,实现字符串(前后各有三个空格,单词前后也均有空格) //" i am student, you are teacher " , //各个单词首字符大写,结果如下" i am student, you are teacher " , //要求1:实现所有接口 70 //要求2:写出测试程序 30 #include #include #incl... 阅读全文

posted @ 2016-06-18 23:12 寒魔影 阅读(258) 评论(0) 推荐(0) 编辑

C语言错误: CRT detected that the application wrote to memory after end of heap buffer
摘要:CRT detected that the application wrote to memory after end of heap buffer 多是中间对其进行了一些操作,在程序结束处,释放内存的时候,引起错误: HEAP CORRUPTION DETECTED:after Normal bl 阅读全文

posted @ 2016-06-18 22:59 寒魔影 阅读(4463) 评论(0) 推荐(0) 编辑

C++ 百炼成钢20
摘要:题目56: 编写C++程序完成以下功能:(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(2)定义一个圆形类,其属性包括圆心和半径;(3)创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。 阅读全文

posted @ 2016-06-17 10:56 寒魔影 阅读(333) 评论(0) 推荐(0) 编辑

C++ 函数的扩展④--函数重载与函数指针
摘要://函数扩展--函数重载与函数指针 #include using namespace std; //函数参数类型不同 void Fuc(char * b){ printf("%s\n",b); } //函数参数个数不同 int Fuc(int a, int b){ return a + b; } //函数参数类型不同 void Fuc2(const char * b){ ... 阅读全文

posted @ 2016-06-15 16:38 寒魔影 阅读(218) 评论(0) 推荐(0) 编辑

C++ 函数的扩展③--函数重载
摘要://函数扩展--函数重载(C语言不支持函数重载) #include using namespace std; //函数重载在本质上是相互独立的不同函数(静态链编),在c++编译器编译就已经确定各个函数 //重载函数的函数类型是不同的 //函数返回值不能作为函数重载的依据 //函数重载是由参数列表决定的 //函数参数类型不同 void Fuc(char * b){ printf("%s... 阅读全文

posted @ 2016-06-15 16:22 寒魔影 阅读(216) 评论(0) 推荐(0) 编辑

C++ 函数的扩展②
摘要://函数扩展--默认参数和占位参数 (了解) #include using namespace std; /* 可以将占位参数与默认参数结合起来使用 意义 为以后程序扩展留下线索 兼容C语言程序中可能出现的不规范写法 c++可以声明占位参数,占位参数一般用于程序扩展和对c代码的兼容 */ int Fuc(int a, int b, int=0){ return a + b; } vo... 阅读全文

posted @ 2016-06-15 16:07 寒魔影 阅读(223) 评论(0) 推荐(0) 编辑

C++ 函数的扩展①
摘要://函数扩展--内联函数 inline #include using namespace std; /* c++中const常量可以替代宏常数定义 如: const int A = 3; 近似于 #define A 3 但是 const无法替代宏代码片段 c++中推荐使用内联函数替代宏代码片段 c++中使用inline关键字声明内联函数 内联函数声明时inline关键字必须和函数定义结合在... 阅读全文

posted @ 2016-06-15 15:42 寒魔影 阅读(872) 评论(0) 推荐(1) 编辑

C++ const关键字修饰引用
摘要://const修饰引用的两种用法 #include using namespace std; struct Teacher{ char name[30]; int age; }; void SetA(const Teacher &t1){ //t1.age = 13; //报错 error C3490: 由于正在通过常量对象访问“age”,因此无法对其进行修... 阅读全文

posted @ 2016-06-15 12:11 寒魔影 阅读(336) 评论(0) 推荐(0) 编辑

C++ 指针引用
摘要://指针引用 #include using namespace std; struct Teacher{ char name[30]; int age; }; int InitA(Teacher **pout/*out*/){ int ERRO_MSG = 0; if (pout==NULL) { ERRO_MSG = 1; ... 阅读全文

posted @ 2016-06-15 10:15 寒魔影 阅读(235) 评论(0) 推荐(0) 编辑

C++ 引用做左值
摘要://引用做左值 #include<iostream> using namespace std; int SetA(int *p){ *p = 30; return *p; } int& SetB(int *p){ *p = 20; return *p; } void main(){ int a1 = 阅读全文

posted @ 2016-06-15 09:17 寒魔影 阅读(919) 评论(0) 推荐(0) 编辑

C++ 引用本质的详解
摘要://引用本质的理解① #include using namespace std; int GetA(){ int a = 10; return a; } int & GetB(){ int a = 10; printf("a的地址是%x\n", &a); return a; } void main(){ int a1 = 10, a2 = 0... 阅读全文

posted @ 2016-06-14 23:33 寒魔影 阅读(1369) 评论(0) 推荐(0) 编辑

C++ 引用基础
摘要://引用 #include using namespace std; struct Student{ char name[30]; int age; }; struct Teacher{ int &at2; int &bt2; }; int GetNum(Student &s2){ s2.age = 19; return s2.age; ... 阅读全文

posted @ 2016-06-13 23:13 寒魔影 阅读(241) 评论(0) 推荐(0) 编辑

C语言错误 指针的类型错误
摘要://指针的类型错误 #include #include #include //用const来限制形参的指向不可以修改,优化代码的安全性 int Getnum(int ** const pin/*in*/){ return 1; } //指针的类型 //指针都是有自己的类型的 例如 int *,int ** //指针的类型本质上是对指针所指向的内存空间一种描述 //一级指针,二级指针只... 阅读全文

posted @ 2016-06-13 15:13 寒魔影 阅读(544) 评论(0) 推荐(0) 编辑

C++ c++与C语言的区别(三目运算符,const修饰符)
摘要://区别⑦:三目运算符(C++版本) #include<iostream> using namespace std; //三目运算符 C语言返回变量的值 C++语言是返回变量本身 void main(){ int a = 10; int b = 20; a < b ? a : b = 30; //C 阅读全文

posted @ 2016-06-11 12:57 寒魔影 阅读(698) 评论(0) 推荐(1) 编辑

C++ c++与C语言的区别(struct类型的加强,函数-变量类型加强,bool类型)
摘要://区别④:struct类型的加强(C++版本) #include using namespace std; //C++中的struct是一个新类型的定义声明 //c++中结构体的默认访问权限public,和类不同 struct Teacher{ //char name[20]="小米";//报错 error C2536: “Teacher::Teacher::name”: 无法指定数... 阅读全文

posted @ 2016-06-11 10:48 寒魔影 阅读(1271) 评论(0) 推荐(0) 编辑

C++ c++与C语言的区别(实用性增强,register关键字增强,全局变量检测增强)
摘要://区别①:实用性增强 #include<iostream> using namespace std; //C语言中的变量都必须在作用域开始的位置定义!! //C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义。 void main(){ int a = 1; printf("ddd 阅读全文

posted @ 2016-06-11 10:09 寒魔影 阅读(539) 评论(0) 推荐(0) 编辑

C++ c++初识
摘要://c++初识 #include<iostream> //包含c++标准头文件 //<iostream>和<iostream.h>格式不一样,前者没有后缀,实际上, //在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 //后缀为.h的头文件c+ 阅读全文

posted @ 2016-06-10 09:38 寒魔影 阅读(310) 评论(0) 推荐(1) 编辑

C语言 Linux内核链表(企业级链表)
摘要://Linux内核链表(企业级链表) #define _CRT_SECURE_NO_WARNINGS #include #include #include #define offscfof(TYPE,MEMBER) ((size_t)&((TYPE *)0)->MEMBER) #define container_of(ptr,type,member) (type *)((char *)ptr-o... 阅读全文

posted @ 2016-06-08 11:52 寒魔影 阅读(1288) 评论(0) 推荐(0) 编辑

C语言 结构体中属性的偏移量计算
摘要://计算结构体偏移量 #include #include #include //详解:对于offscfof()函数, //(TYPE *)0这句的意思是将内存地址是0内存块转换成一个TYPE类型的指针 //那么此时0地址的指针的步长就是TYPE, //(TYPE *)0)->MEMBER这句话是取TYPE结构体的MEMBER属性(注意此时TYPE结构体的指针的值是0) //&((TYPE *)... 阅读全文

posted @ 2016-06-07 17:23 寒魔影 阅读(4009) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示