面向对象的C++
大烁爱吃肉
作为知识管理和分析的仓库,涉及工作与生活中的知识、感受和创意。
发布文章如下几类:1.把零碎的知识整理起来,做成一个完整的教学篇。2.遇到问题时的解决办法。3.自己对于架构、算法、逻辑的设计创新。4.社会时事或生活中遇到的事物的感悟,或者建模去分析和解决问题。5.IT从业人的身心健康建议,养生与健身。
展开
-
面向对象的C++基础
最基本的头文件建立和调用原创 2017-09-19 19:50:17 · 393 阅读 · 0 评论 -
realloc_malloc_calloc的区别
realloc extern void *realloc(void *mem_address,unsigned int newsize); newsize指定分配空间的大小,mem_address是原来的内存区域,将原有数据从头到尾复制到新的内存区域,然后释放原来的区域,返回新区域的首地址。 malloc extern void *malloc(unsigned int num_b原创 2018-01-21 00:21:01 · 228 阅读 · 0 评论 -
const使用细节
用一段短小的程序说明const定义变量的一些细节区别 #include #include int main() { int a=9; int const a1=10;//必须赋初值 const int a2=11;//必须赋初值 int const *p1; const int *p2; p2=&a2; p1=&a1; p1=&a;原创 2018-01-21 00:04:11 · 259 阅读 · 0 评论 -
符号的重载
构造了一个复数类型,重载加号使其能加复数类型。#include class comp//定义一个复数类 { private: double r; double i; public: comp() {} comp(double r0,double i0) { r=r0; i=i0; } void print()原创 2018-01-20 23:49:07 · 443 阅读 · 0 评论 -
继承关系中的函数调用
#include struct A { void aa() { printf("aa"); } virtual void bb() { printf("bb"); }; A() { bb(); } }; struct B:A { void aax() {原创 2018-01-21 16:56:19 · 743 阅读 · 0 评论 -
自加自减颠覆思想的细节
写一个小程序测试一下函数传值情况 #include void func(int a,int b,int c,int d,int e,int f) { printf("%d %d %d %d %d %d\n",a,b,c,d,e,f); } int main() { int i=0; func(i++,i++,++i,i++,++i,i++); return 0;原创 2018-01-21 16:21:37 · 213 阅读 · 0 评论 -
register寄存器变量对程序的影响
为了程序运行的效率,有些频繁修改的变量将会被直接存储在寄存器中而不是内存,register修饰的变量将被存在寄存器中频繁使用,以加快其存储速度。 #include #include int main() { struct timeval start,end; gettimeofday(&start,NULL);//获取起始时间 double timeuse; /原创 2018-01-21 11:40:53 · 734 阅读 · 0 评论 -
友元
友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。 特点 友元函数是能够访问类中的私有成员的非成员函数。友元函数从语法上看,在定义上和调用上与普通函数一样。 友元关系不具对称性。即 A 是 B 的友元,但 B 不一定是 A 的友元。 友元关系不具传递性。即 B 是 A 的友元,C 是 B 的友元,但是 C 不一定是 A 的友元。 作用原创 2017-10-03 13:17:30 · 350 阅读 · 0 评论 -
函数参数传递样例
这里演示了三种传参样例,检测是否可以改变实参的值 #include void move0(int &x,int &y)//取地址符传输 { int t; t=x,x=y;y=t; } void move1(int *x,int *y)//指针传输 { int *t; t=x,x=y;y=t; printf("* %d %d\n",*x,*y); } vo原创 2017-10-03 13:14:43 · 374 阅读 · 0 评论 -
对象的生存周期对比
显示不同变量类型的定义与销毁先后顺序原创 2017-09-20 19:23:03 · 384 阅读 · 0 评论 -
构造函数与析构函数
设置意图 某些类的对象,必须在对它进行了初始化以后才能使用。对于某些类的对象在消亡前,往往也需要执行一些操作,做一些善后的处理。初始化和扫尾的工作给类的用户带来了额外的负担,使他们觉得类和内置类型还是不一样。 用户希望使用类的对象就和使用内置类型的变量一样,一旦定义了,就能直接使用。用完了,由系统自动回收。 构造函数和析构函数是特殊的成员函数 构造函数:为对象赋初值。原创 2017-09-19 20:32:50 · 709 阅读 · 0 评论 -
虚函数
#include <stdio.h> class Base { public: virtual void Init() { printf("Base Init\n"); } void func() { printf("Base func\n"); } }; class Derived: public Bas...原创 2018-03-05 11:49:08 · 379 阅读 · 0 评论