黑马程序员技术交流社区

标题: 【长沙校区】基哥笔记【IOS前奏】-半天搞定c++ [打印本页]

作者: allen927    时间: 2015-10-29 22:52
标题: 【长沙校区】基哥笔记【IOS前奏】-半天搞定c++
本帖最后由 allen927 于 2015-11-2 11:20 编辑


同样的课程、老师、就业,更好的学习环境,更低的学习成本!
内地学员,选择长沙校区,靠谱!!!
报名热线:0731-85833115
  QQ  : 2355535415

十年磨一剑【基哥笔记】轻松学android
http://bbs.itheima.com/thread-249703-1-1.html

十年磨一剑【基哥笔记】半天搞定C++

资源下载
资源名称
DOC笔记
视频代码
十年磨一剑-【基哥笔记】-半天搞定c++

1 c++
C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言[1] 。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。最新正式标准C++112011812日公布。
C语言是C++的基础,C++C语言在很多方面是兼容的。
C语言是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。所以C语言和C++的最大区别在于它们解决问题的思想方法不一样。
C++C的“增强”,表现在六个方面:
(1) 类型检查更为严格。
(2) 增加了面向对象的机制。
(3) 增加了泛型编程的机制(Template)。
(4) 增加了异常处理。
(5) 增加了运算符重载。
(6) 增加了标准模板库(STL)。

2 c++的语法
关键字


基本数据类型
c:
char
short int long
float double
c++:
char
short int long
float double
bool

占位符

运算符





3 你好世界





:: 作用域运算符

4 基本数据类型


5 &字符


6常量const
const:常量   特点:一旦被定义就不能为修改   java final  



7字符串



8 for循环



9 goto语句
java里面有没有goto语句,没有java里面有goto  保留关键字

goto:到那里去?目的地   
目的地 : 冒号
goto 目的地;  分号


10 try  catch
捕获异常
java
try{}
catch(Execption e){}
finally{}

c++
try{}
catch(){
}

throw 抛出异常  
抛什么就捕获什么



11 newdelete关键字
new:申请一块内存空间  
delete:释放一块内存空间

12 vector


13 list集合


14 map集合
key value 键值对


15 访问修饰符
public的定义:所有范围都能访问;
protected的定义:类自身和派生类能访问(派生类对象对其基类对象部分中的protected成员的访问);
private的定义:类自身能访问;

16
class
类是用来描述一类相同的事务的属性和行为。


17 类对象


18 构造方法


19 类的继承
简单地说下C++类的3种继承方式,分别是
public继承
protected继承
private继承
继承就是为了修改父类访问权限,可以理解为一种安全的保护


using namespace std;
class Parent{
      private:
      int a;
      protected:
      int b;
      public:
      Parent(){
      cout<<"Parent的构造方法被调用"<<endl;
      a = 1;
      b = 2;
      c = 3;         
      };
      int c;
};
class Child : privateParent{
     //能够访问的属性  b   c
     public:
     Child(){
         cout<<"Child的构造方法被调用"<<endl;        
     };      
     void accessB(){
         cout<<b<<endl;
     };
};
class Sunzi: public Child{
     //能够访问的属性   无法访问Parent里面的任何属性
     public:
     Sunzi(){
         cout<<"Sunzi的构造方法被调用"<<endl;  
     };

};


20 静态
static
通过类名可以直接调用
类里面:静态的常量和方法


21 名称空间namespace


22 内联函数
inline 说明这个函数是内联的,在编译过程中内联函数会直接被源代码替换,提高执行效率如果类中的某个函数会被调用很多次或者放在循环中,那么建议将这个函数声明为内联,可以提高程序的运行效率
记住,调用函数的开销是很大的,所谓的空间开销是指调用函数前,先要将原来的函数保存在寄存器(占用寄存器空间)里面,并在调用结束后恢复。调用函数时,还要复制实参(占用内存空间)。如果被调用函数一旦调用频繁,就会花费很多空间。如果你有一段“短小而频繁调用的函数”,内联是个不错的选择。



23 虚函数
虚函数是C++的精华,也是java多态的前身。virtual
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!
纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!
虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。

24 输入

25 初始化列表
初始化列表就是在实例化对象的时候,可以显示的调用父类的构造方法,传递参数给父类,也可以对本身的属性进行赋值。


26 多继承
如果B1B2有相同的属性,这样如果调用是会出现错误的,如果有就只能选择虚继承。
必须要显示的指定访问作用域


27 虚继承
虚拟继承,和普通继承是C++的两种继承方式。  
例如B1B2  继承A   C多重继承B1B2
如果普通继承则C包含两份A的拷贝,分别来自于B1B2  
而虚拟继承则只包含一份A的拷贝

虚基类是指:class   SubClass  :   virtual   public  BaseClass   中以virtual声明的基类!!由于C++支持多重继承,所以对于一个派生类中有几个直接父类,而几个直接父类中有几个可能分别继承自某一个基类(就是父类的父类),这样在构造最终派生类时,会出现最终派生类中含有多个同一个基类的情况,就会产生二义性的问题(不知道该调用哪个基类的成员变量和函数),为解决此问题,需要使用虚基类,即只对此基类生成一块内存区域,这样最终派生类中就只会含有一个基类了
典型的需要用虚基类的情况如下:  
                        A  
                      /   \  
                   B       C
                      \   /  
                        D

如果是虚继承,在子类实例化的时候是不会调用父类的构造方法,必须显示的调用。
#include <iostream>

using namespace std;

class A
{
public:
   A(int a = 0):mA(a) {}
   int mA;
};

class B1 : virtual publicA
{
public:
   B1(int a = 0, int b = 0) : A(b), mB1(a) {}
   int mB1;
};

class B2 : virtualpublic A
{
public:
   B2(int a = 0, int b = 0) : A(b), mB2(a) {}
   int mB2;
};

class C : public B1, public B2
{
public:
   C(int x, int a, int b, int c, int d) : A(b),B1(a,b), B2(c, d), mC(x) {}
   void Print()
    {
       cout << "B1::mA = " << B1::mA<< endl;
       cout << "B2::mA = " << B2::mA << endl;
       cout << "mA = " << mA << endl;
       cout << "mB1 = " << mB1 << endl;
       cout << "mB2 = " << mB2 << endl;
       cout << "mC = " << mC << endl;
    }
   int mC;
};

int main()
{

    Cobj(10, 20, 30, 40, 50);
   obj.Print();
   system("pause");
   return 0;
}




希望大家积极转发、分享,让更多的人轻松学习!

相关链接:
长沙中心--黑马双元课堂JAVA入学辅导班1期火爆开班啦!!!
http://bbs.itheima.com/thread-241663-1-1.html
长沙黑马程序员学习激情无限“吊炸天”
http://bbs.itheima.com/forum.php?mod=viewthread&tid=245462&page=1&extra=#pid1878818
黑马程序员长沙校区生活圈,60秒搞定吃住学
http://bbs.itheima.com/thread-243108-1-1.html


作者: 枫烬    时间: 2015-10-29 23:52
mark收藏了,等学完java重新学学已经放下三年的C++。多技能才能工作多选择
作者: Mu。    时间: 2015-10-30 10:39
真的不错撒。。。
作者: 秦晓东帅帅哒    时间: 2015-10-30 12:33
长沙人得福利啊,大家抓紧哈
作者: 王元18611727076    时间: 2015-10-30 18:10
签到,签到
作者: Mu。    时间: 2015-10-30 19:17
来了看看,转转。
作者: tsc0000    时间: 2015-10-30 19:25
签到来也
作者: chensc    时间: 2015-10-30 20:03
学习学习!
作者: LDstruggling    时间: 2015-10-30 20:04
学习学习!!!!!!

作者: vyqrvwgf    时间: 2015-10-30 20:10
签到来了

作者: jean2561    时间: 2015-10-30 20:28
收了慢慢看
作者: 306228801    时间: 2015-10-30 20:28
好多帖子
作者: 荔枝    时间: 2015-10-30 21:01
签到,签到
作者: cjw379551618    时间: 2015-10-30 21:33
草草草丛哦
作者: 鲲鹏198766    时间: 2015-10-30 22:17
哎,有一天过去了。
作者: wzf2015    时间: 2015-10-30 22:39
十年磨一剑,好
作者: xiaoniulang    时间: 2015-10-30 23:23
可惜啊,来北京了
作者: Mu。    时间: 2015-10-31 00:27
我要去北京啊啊啊啊
作者: b31b33b34    时间: 2015-10-31 01:18
签到来了签到来了签到来了~!
作者: 李加策    时间: 2015-10-31 07:35
签到来了

作者: StillSad    时间: 2015-10-31 08:14
不错不错!
作者: peide0427    时间: 2015-10-31 08:23
签到亲到~~每天的必做工作
作者: faithdream    时间: 2015-10-31 09:58
每天必签到
作者: 1213842165    时间: 2015-10-31 10:20
签到签到签到
作者: xuyanfire    时间: 2015-10-31 11:12
每日签到
作者: ReNeXt    时间: 2015-10-31 11:14
我来了!
作者: 865393462    时间: 2015-10-31 12:18
签到签到签到签到签到签到
作者: zale    时间: 2015-10-31 12:26
签到签到签到签到签到签到签到
作者: 秦晓东帅帅哒    时间: 2015-10-31 12:35
我来了,签到签到签到签到签到,大家好,大家辛苦,大家休息吧,大家再见!
作者: 任子杰    时间: 2015-10-31 12:46
签到。。。。。。。。。。。
作者: 李宗飞    时间: 2015-10-31 15:18
签到,大家好,周末愉快,继续奋斗!!
作者: 崔节帅    时间: 2015-10-31 18:53
大家好,大家最近都进顺利吗
作者: 1213842165    时间: 2015-10-31 19:25
明天就要正式开始了
作者: xiaobei    时间: 2015-10-31 19:48
签到,每天的视频任务都好重!!!
作者: xiaoniulang    时间: 2015-10-31 20:33
大牛就是不一样
作者: vyqrvwgf    时间: 2015-10-31 21:05
真厉害!

作者: 王传斌    时间: 2015-10-31 21:25
赞一个,↖(^ω^)↗
作者: 在此重拾自我    时间: 2015-10-31 22:32
真厉害!
作者: 水中月2    时间: 2015-10-31 23:08
赞一个,↖(^ω^)↗
作者: 水中月2    时间: 2015-10-31 23:21
赞一个,↖(^ω^)↗
作者: zale    时间: 2015-10-31 23:33
赞一个,↖(^ω^)↗
作者: c9527    时间: 2015-11-1 09:04
C++能学这么快么?好厉害的样子
作者: you135    时间: 2015-11-1 09:51
基哥 支持
作者: vyqrvwgf    时间: 2015-11-1 09:53
签到来了!
作者: 崔节帅    时间: 2015-11-1 11:46
我来签到
作者: 亚东    时间: 2015-11-1 12:18
加油加油
作者: toveyloves    时间: 2015-11-1 12:43
收藏日后学习,谢谢楼主!
作者: Erma-King    时间: 2015-11-1 14:31
签到,,每日签到,,,大家一起加油吧。。。
作者: b31b33b34    时间: 2015-11-1 16:21
签个到。。。
作者: Mu。    时间: 2015-11-1 18:55
来签到////
作者: 窝牛。    时间: 2015-11-1 19:45
签到签到
作者: vyqrvwgf    时间: 2015-11-1 20:30
签到签到
作者: shengping110    时间: 2015-11-1 21:14
66666666666666
作者: 冲吧少年    时间: 2015-11-1 21:16
加油 ! ! ! !
作者: xiaolang110    时间: 2015-11-1 21:58
签到,加油同鞋门
作者: niujiayue    时间: 2015-11-1 22:00
加油,努力
作者: 向日葵的微笑    时间: 2015-11-1 22:13
加油加油加油加油加油加油加油加油!!!!
作者: fanyafangxf    时间: 2015-11-1 22:46
签到,加油~
作者: yuweiyuwei    时间: 2015-11-1 23:25
各位加油
作者: 隔岸相望不相忘    时间: 2015-11-1 23:29
每日签到
作者: niujiayue    时间: 2015-11-2 00:13
加油 加油
作者: 吴永涛    时间: 2015-11-2 00:18
这帖子就是个大全啊!
作者: xuyanfire    时间: 2015-11-2 10:39
每日签到签到
作者: vyqrvwgf    时间: 2015-11-2 10:56
签到,666
作者: Mu。    时间: 2015-11-2 11:03
来签到。。。。
作者: fanyafangxf    时间: 2015-11-2 11:41
签到~签到~
作者: b31b33b34    时间: 2015-11-2 13:38
签到66666
作者: fanyafangxf    时间: 2015-11-2 13:54
签到是啥意思
作者: black747521    时间: 2015-11-2 14:09
签到签到签到
作者: xiaobei    时间: 2015-11-2 18:36
签到去,签到
作者: 赵飞    时间: 2015-11-2 19:26
签到签到
作者: 亚东    时间: 2015-11-2 20:20
签到签到
作者: shankes    时间: 2015-11-2 20:39
签到给分么
作者: shankes    时间: 2015-11-2 20:41
能说下这个技术分是怎么弄的么?
作者: 秦晓东帅帅哒    时间: 2015-11-2 21:18
很好很好非常好的
作者: poxiao    时间: 2015-11-2 21:20
签到能加技术分?
作者: 冲吧少年    时间: 2015-11-2 21:36
加油 ! ! ! ! ! !
作者: 梁名扬    时间: 2015-11-2 22:14
支持基哥!!!
作者: 1213842165    时间: 2015-11-2 22:24
各地陆续在开班 黑马越来越牛啦
作者: xiaobei    时间: 2015-11-2 22:43
签到签到
作者: duanwenkang    时间: 2015-11-2 22:49
大神啊.值得一看的笔记.
作者: 微笑、守望    时间: 2015-11-2 23:05
信基哥,拿满分!
作者: 无知的称谓    时间: 2015-11-2 23:18
神人,好给力!!!!!!!!!!!!!!
作者: xiechanghuai    时间: 2015-11-2 23:30
毕竟基哥,66666
作者: 一封信的旅途    时间: 2015-11-2 23:32
先留言,在学习
作者: 为荣艺学iOS    时间: 2015-11-2 23:58
好牛掰的大神啊

作者: Makeit    时间: 2015-11-3 00:47
留言,留言
作者: Mu。    时间: 2015-11-3 08:52
签到签到。。。。。
作者: fanyafangxf    时间: 2015-11-3 10:16
签到~签到~
作者: tsc0000    时间: 2015-11-3 10:26
签到签到
作者: 任子杰    时间: 2015-11-3 12:17
走一波。。。。。

作者: vyqrvwgf    时间: 2015-11-3 12:21
很好很好非常好的
作者: black747521    时间: 2015-11-3 12:46
按时打卡签到一波
作者: b31b33b34    时间: 2015-11-3 13:01
签到....~!!!
作者: 亚东    时间: 2015-11-3 14:42
来一波就来一波
作者: Mu。    时间: 2015-11-3 15:06
签到。看看/。。
作者: liruixue    时间: 2015-11-3 15:40
下午,签个到
作者: xiaobei    时间: 2015-11-3 18:03
签到签到签到
作者: wangchao1992    时间: 2015-11-3 20:57
签个到 。。。
作者: zhuanshu1458    时间: 2015-11-3 21:04
从哪里签到呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2