zoukankan      html  css  js  c++  java
  • C++面向对象

    1. 若类中无无实参构造函数,编译器会自动创建一个,若无析构函数,也会自动创建,若数据域有对象类型时应显示的创建析构函数
    2. 拷贝构造函数和赋值符号(=)都为浅拷贝(按值传递基本类型,按引用传引用类型)
    3. 一个函数在类声明时实现,自动成为内联函数
    4. inline 是一种"用于实现的关键字",而不是一种"用于声明的关键字"关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用
    5. (*this).radius = this->radius
    6. string类

      字符串运算符:[],=,+,+=,<<,>>,==,!=,<,>,<=,>=

          s[2]=s.at(2);

    7. 对象传递按值传递进行,也可加 & 按引用传
    8. 构造函数初始化列表

      //ClassName(parameterList): datafield1(value1),datafield2(value2){}

      Circle::Circle():radius(1){} = Circle::Circle(){ radius =1;}

      类中const常量,必须在初始化列表中初始,不能使用赋值的方式初始化

    9. #ifndef CLASSNAME_H

      #define CLASSNAME_H

      #endif

    10. 静态变量,静态函数既能通过className:: 来访问,也可以通过类对象来访问
    11. 友元类 friend

      一对一:合成 一对多:聚合()

    12. 向量类 vector 比数组更加灵活vectotNmae.at(i)=vectorNaem[i] <vector>
    13. 子类调用基类构造函数时只能在实现中调用,不能在声明中调用(不显示调用时自动调用基类无实参构造函数)
    14. 构造函数连,析构函数连
    15. 函数覆盖 //circle.Geometric::toString();
    16. 多态,动态绑定 virtual,实现动态绑定必须保证顶层基类中函数为虚函数,且参数 为引用或指针,基类中的virtual 函数在子类中自动为virtual,不必显示声明
    17. public,protected,private
    18. 抽象函数(纯虚函数,声明时不实现,子类中实现) virtual double gerArea()=0;

      有抽象函数的类为抽象类,抽象类不能声明具体实例

    19. 动态类型转换 Circle *p=dynamic_cast<Circle*>(p);
    20. typeid(*p或者x).name()
    21. ofstream 对象打开文件会清除文件内容 close() fail() eof()
    22. input.getline(city,40,'#')
    23. char get() | istream * get (char &ch) 读到ch中

      char get(char array[],int size, char delimitChar) 读到数组

      会在末尾加一个 getline()不加

    24. void put(char ch) //output.put(input.get());
    25. <iostream>中声明了getline函数:

      istream::getline
      istream& getline (char* s, streamsize n );
      istream& getline (char* s, streamsize n, char delim )
      ;

    26. <string>头文件中中声明了getline函数:

      istream& getline ( istream& is, string& str, char delim );
      istream& getline ( istream& is, string& str );

    27. streamObject.write(char * ch, int size)

      binaryio.write(reinterpret_cast<char *>(&value),sizeof(value));

      streamObject.read(char * ch, int size)

    28. seekg()输出,seekp()输入

      http://zh.cppreference.com/mwiki/index.php?title=Special%3A%E6%90%9C%E7%B4%A2&search=seek

    29. r1.operator<(r2) = r1 < r2 不可重载?: . .* ::
    30. operator double();
    31. catch(type)
    32. <exception><stdexcept>
    33. template<typename T> template<typename T=int ,int capacity>
  • 相关阅读:
    stl学习笔记—set/multimap
    2013 杭州站 hdoj4778 Gems Fight!
    矩阵加速数列递推
    暑假写的两个数据结构
    AC自动机模板 hdoj2222 UVA-11468
    树莓派安装3.5英寸触摸屏幕
    树莓派设置NTP同步
    在树莓派上设置无线静态IP
    运行tomcat7w.exe未安装指定的服务
    LoadRunner 11安装Micosoft Visual C++ 2005 SP1时提示命令行选项语法错误
  • 原文地址:https://www.cnblogs.com/3013218061shang/p/5440200.html
Copyright © 2011-2022 走看看