c++
文章平均质量分 75
学习中呢
一个本科小生的匍匐前进之路
展开
-
const指针
1.指向常量的的指针变量const 类型名 * 指针变量名经此定义后,不允许通过指针变量改变他指向的对象的值int a=12,b=15;const int *p=&a;//定义了p为指向指向整形变量a的const指针变量*p=15;//试图通过指针变量改变他指向的对象a的值,非法上面定义的指针变量p却可以改变p=&b;//合法用指向常量的指针变量只是限制了通过指针变原创 2017-06-30 17:53:39 · 569 阅读 · 0 评论 -
标准模板库的一些函数
#ifndef _ITERATOR_DEBUG_LEVEL#define _ITERATOR_DEBUG_LEVEL 0#else#undef _ITERATOR_DEBUG_LEVEL#define _ITERATOR_DEBUG_LEVEL 0#endif#include #include #include //算法using namespace std;//STL原创 2017-08-03 22:49:13 · 373 阅读 · 0 评论 -
类型转换和io流
//C++类型转换//static_cast 普遍情况//const_cast 去常量//dynamic_cast 子类类型转为父类类型//reinterpret_cast 函数指针转型,不具备移植性//原始类型转换,所有情况都是一种写法,可读性不高,有可能有潜在的风险/*void* func(int type){ switch (type){ case 1: {原创 2017-08-03 22:46:12 · 252 阅读 · 0 评论 -
模板类和异常
//模板类templateclass A{public: A(T a){ this->a = a; }protected: T a;};//普通类继承模板类class B : public A{public: B(int a,int b) : A(a){ this->b = b; }private: int b;};//模板类继承模板类templat原创 2017-08-03 22:42:23 · 267 阅读 · 0 评论 -
构造函数、析构函数、拷贝构造函数,常函数
//构造函数、析构函数、拷贝构造函数/*class Teacher{private: char *name; int age;public: //无参构造函数(写了,就会覆盖默认的无参构造函数) Teacher(){ cout << "无参构造函数" << endl; } //有参构造函数会覆盖默认的构造函数 Teacher(char *name, int age){原创 2017-08-01 23:52:36 · 468 阅读 · 0 评论 -
纯虚函数和模板函数
//纯虚函数(抽象类)//1.当一个类具有一个纯虚函数,这个类就是抽象类//2.抽象类不能实例化对象//3.子类继承抽象类,必须要实现纯虚函数,如果没有,子类也是抽象类//抽象类的作用:为了继承约束,根本不知道未来的实现//形状/*class Shape{public: //纯虚函数 virtual void sayArea() = 0; void print(){ co原创 2017-08-02 00:17:01 · 1994 阅读 · 0 评论 -
虚函数和多态
#pragma once//普通飞机class Plane{public: virtual void fly(); virtual void land();};#include "Plane.h"#include using namespace std;void Plane::fly(){ cout << "起飞" << endl;}void Plane原创 2017-08-02 00:13:33 · 225 阅读 · 0 评论 -
多继承
//多继承/*//人class Person{};//公民class Citizen{};//学生,既是人,又是公民class Student : public Person, public Citizen{};*///继承的访问修饰//基类中 继承方式 子类中//public & public继承 = > publ原创 2017-08-02 00:08:01 · 194 阅读 · 0 评论 -
继承和构造函数析构函数调用顺序
//继承//代码的重用性using namespace std;/*//人类class Human{public: void say(){ cout << "说话" << endl; }protected: char* name; int age;};//男人class Man : public Human{public: //泡妞 void chasin原创 2017-08-02 00:02:52 · 303 阅读 · 0 评论 -
友元函数和运算符重载
//友元函数/*class A{ //友元函数 friend void modify_i(A *p, int a);private: int i;public: A(int i){ this->i = i; } void myprint(){ cout << i << endl; } };//友元函数的实现,在友元函数中可以访问私有的属性void modif原创 2017-08-01 23:53:37 · 339 阅读 · 0 评论 -
命名空间,引用,常量,可变参数例子
//标准命名空间(包含很多标准的定义)//standardusing namespace std;//命名空间类似于Java中包(归类)/*//自定义命名空间namespace NSP_A{ int a = 9; struct Teacher{ char name[20]; int age; }; struct Student{ char name[20];原创 2017-08-01 23:49:50 · 554 阅读 · 0 评论 -
指针数组和数组指针及延伸
int *p;p=int * new int[10]指针数组;数组的每个元素存放的是指针p= (int *) new int[10]数组指针p存放的是数组的首地址p=new int[10] p为指向一片连续空间的第一块地址 delete p释放第一块地址delete []p为释放这一片连续空间我感觉(int *)new int[10]和new int [10]的意义一样c++中原创 2017-07-02 17:22:17 · 292 阅读 · 0 评论 -
指针和引用的区别
指针存储的是一个地址,指向一个存储单元。引用相当于一个变量的别名。int a=1;int *p1=&a;int b=2; int &p2=b;//在数据类型名后面出现的&为引用声明符,在其它场合出现代表取地址符。声明一个引用时必须初始化int &a;//错误,没有初始化在声明一个引用后,不能再使之作为另一变量的引用int a1,a2;int &b=a1;int &b原创 2017-06-30 20:00:22 · 274 阅读 · 0 评论 -
vs开发环境搭建(头文件,静态库,动态库配置)
在vs源码下新建include(自己命名)和lib(自己命名)文件夹,把相关的头文件(.h)拷贝至include文件夹下,把库文件(.lib)拷贝至lib文件夹下,把动态库(*.dll)拷贝至源码文件夹下。拷贝完毕后需要配置相关目录:打开属性面板—右键单击项目—-属性 头文件配置配置属性—->c/c++—->常规—->附加包含目录——->输入include(头文件的目录)导入库配置:配置属性原创 2017-11-18 00:43:24 · 479 阅读 · 0 评论