`

C++ 难点笔记

    博客分类:
  • C++
阅读更多


A:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#include <iostream>//下列程序段有错吗?
using namespace std;
class A{ 
   public:   
    A(int i){cout<<"A"<<i<<endl;};
    void show(){cout<<"111"<<endl;}
};
class B {
public:
 A a;
 B(int i) :a(2){
  cout<<"B"<<endl;
  a.show();
 }
};
int main(){
 B   b(2); //换成语句B   b();呢?  函数?对象?
 return 0;
}


结论:B(int i) :a(2)    A a;一看到这个就闷到了 原来是在编

译时段就初始化了,而且效率高,到底效率高在哪里呢?


B:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;
#include <iostream>
class One {public : void fun(){std::cout<<"One"<<std::endl;}
    One* operator ->(){
  return (new One());
    }
};
class Two 
{public :
 One operator -> ()   //返回值类型是UDT类。但该类没有重载->操作符
 {  return *(new One());    }
 
 /*
 One* operator -> ()   //成功UDT类指针,访问成功
 {  return (new One());    }
 */
};
void main(){ Two test;
 test-> fun(); //编译通不过,因为对one对象执行->操作。one对象只能通过.来访问成员
};


结论:重载这东西还是不熟练~!

异常
注意不要在析构函数中抛出异常,避免一个异常没有得到处理时又抛出一个异常,因为一个异常发生后会查找用来处理异常的catch子句,进行栈展开前调用局部变量的析构函数进行析构。尽量在构造函数中抛出异常,用于保证创建失败后能抛出异常,在catch子句中释放在构造函数中的资源。

编译依赖;编译多态(静态)、运行时多态(动态)。
编译单元:一个文件。为什么一个程序要分多个文件?
编译依赖是一个类、函数、软件实体、文件或组件等之间的关联,如果一个实体在编译时依赖于其它的实体才能编译,其它实体改变,则需要重新编译该实体。那么称该实体对其它实体有编译依赖。例子?我们要尽量使得编译依赖最小化。特别是尽量不要使用不需要的头文件,减少代码大小。 

接口隔离原则(ISP, Interface Segregation Principle)

合成/聚合复用原则(CAPP 
分享到:
评论

相关推荐

    C++总结笔记,面试专用

    C++,总结笔记,面试,C++,总结笔记,面试,来自高质量编程的总结,全面概括C++难点,内存控制,指针应用,欢迎下载。。

    ( 21天精通C++)学习笔记

    ( 21天精通C++)学习笔记,总结了( 21天精通C++)中的个人见解及重难点笔记。第二周学习笔记(2-2)

    达内培训机构—C++笔记

    本课件是达内培训机构的C++学习笔记,包含C++的所有重要知识点,以及重点、难点。

    『21天精通C++』全套笔记

    ( 21天精通C++)学习笔记,总结了( 21天精通C++)中的个人见解及重难点笔记。其实任何一门技术,不论是音乐、编程还是画画,如果没有超过十年的培养,都无法达到杰出的可能;  即使是4岁就显露出音乐天赋的天才...

    C++重难点总结系列.rar

    该系列是本人学习C/C++以来,阅读相关书籍以及编程实践中记载的笔记中提炼的知识点,现整理成博文与大家分享。本系列不是小白系列,尽量避免冗杂的解释和叙述,简明扼要地总结干货,适合进阶的童鞋。限水平有限,有...

    C与C++程序设计学习与实验系统 2011.2

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    ——太棒了——c++学习笔记和常见面试知识点,c++ 11特性,包括多态原理,虚表,移动语义,友元函数,符号重载,完美转发,函数指针,智能指针,常量和静态的,数组指针和指针数组,结构内存对齐,枚举和联盟关键字等等,还新添了其他算法和计算机基础的难点,力求简洁清晰- nwpuhq / AwesomeCpp

    ——太棒了——c++学习笔记和常见面试知识点,c++ 11特性,包括多态原理,虚表,移动语义,友元函数,符号重载,完美转发,函数指针,智能指针,常量和静态的,数组指针和指针数组,结构内存对齐,枚举和联盟关键字等等,还新添了...

    C与C++程序设计学习与实验系统.rar

    新增读书笔记功能有利用户 记录教程中的重点、难点、学习心得体会,同时,为了便于C语言学习,加入C语言学习指导、入门程序实例、典型源程序、典型的函数算法,课程设计指导、课程设计源程序、Visual C++6.0中英文...

    c语言难点分析整理,C语言

    2. C语言难点分析整理 10 3. C语言难点 18 4. C/C++实现冒泡排序算法 32 5. C++中指针和引用的区别 35 6. const char*, char const*, char*const的区别 36 7. C中可变参数函数实现 38 8. C程序内存中组成部分 41 9. ...

    c/c++程序设计学习与实验系统

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    C与C++程序设计学习与实验系统

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    C/C++程序设计学习与实验系统 2010.part2

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    C_C++程序设计学习与实验系统 2010 part1

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    C_C++程序设计学习与实验系统

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    【04737】2017年10月C++程序设计自考试题与答案解析

    【04737】2017年10月C++程序设计自考试题与答案解析。其中内容和排版已整理完毕,部分难点题目作为笔记和解析,建议使用平板电脑观看效果更佳。

    C_C++集成实验与学习环境

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    C语言难点分析整理

    2. C语言难点分析整理 10 3. C语言难点 18 4. C/C++实现冒泡排序算法 32 5. C++中指针和引用的区别 35 6. const char*, char const*, char*const的区别 36 7. C中可变参数函数实现 38 8. C程序内存中组成部分 41 9. ...

    C/C++程序设计学习与实验系统 2010.part1

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    C/C++程序设计学习与实验系统

    C/C++程序设计教程(配有同步实验、流程控制语句动画演示、提供教程中所有程序实例、实验、作业中的源代码(全部用VC6编译器调试通过))》融入了作者多年的教学和学习经验、编程建议、编程感悟,新增读书笔记功能有利...

    免费下载:C语言难点分析整理.doc

    2. C语言难点分析整理 10 3. C语言难点 18 4. C/C++实现冒泡排序算法 32 5. C++中指针和引用的区别 35 6. const char*, char const*, char*const的区别 36 7. C中可变参数函数实现 38 8. C程序内存中组成部分 41 9. ...

Global site tag (gtag.js) - Google Analytics