zoukankan      html  css  js  c++  java
  • C++Primer类学习笔记

    1) 静态类成员在类定义之外被初始化,也就是不能放到头文件中。例:

     1 // 头文件中
     2 class Account {
     3     Account(double amount, const string &owner);
     4     string owner() {return _owner;}
     5 private:
     6     static double _interestRate;
     7     double _amount;
     8     string _owner;
     9 };
    10 
    11 // cpp文件中
    12 #include "account.h"
    13 double Account::_interestRate = 0.0589;

    2)静态数据成员的类型可以是其所属类,而非静态数据成员只能被声明为该类的对象的指针或引用。例:

    1 class Bar {
    2 public:
    3     // ...
    4 private:
    5     static Bar mem1; // ok
    6     Bar *mem2; // ok
    7     Bar mem3; // error
    8 };

    3)有序型的const静态数据成员可以在类体中用一常量值初始化。

    有序型原文:integral type。这个地方应该指的是“整值类型”。指char、short、int、long和它们的unsigned版本,不含float和double。

    参考:http://blog.csdn.net/xiajun07061225/article/details/6955365

     1 // 头文件
     2 class Account {
     3     // ...
     4 private: 
     5     static const int nameSize = 16;
     6     static const char name[nameSize];
     7 };
     8 // 文本文件
     9 const int Account::nameSize;    // 必需
    10 const char Account::name[nameSize] = "Savings Account";

    4) 静态成员函数只访问静态数据成员,不能为const和volatile,没有this指针。可以用  类名::静态成员函数名()  来使用。

    5) 类成员函数指针格式:   返回值类型 (类名::*函数指针名)(参数);          例:  Screen& (Screen::*Action)();

    可以使用     typedef Screen& (Screen::*Action)();             // 好难理解。。。

    然后下面就可以用Action了     Action default = &Screen::home;

    6) 静态类成员函数指针为普通指针。

  • 相关阅读:
    eclipse 配置SVN代理服务器
    jenkins 配置SVN 代理服务器
    记录服务器启动redis过程
    java牛客刷题2020年9月4日
    java牛客网错题2020年9月3日
    bootstrap-select 实现搜索,如果内容搜索不到显示到框内
    pandas教程5-合并 concat
    pandas教程-4导入导出
    pandas简单教程1
    AttributeError: module 'pandas' has no attribute 'Series'
  • 原文地址:https://www.cnblogs.com/warrior2005/p/4447582.html
Copyright © 2011-2022 走看看