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