zoukankan      html  css  js  c++  java
  • C++杂分析

    class word{
    public:
        word(){cout<<"word constructure 
    ";}
        word(int i){cout<<"word 1 constructure 
    ";}
    };
    
    class Text{
    public:
        word w;
        Text():w(1)
        {cout<<"text constructure 
    ";}
    };
    
    int main()
    {
     Text t;
    }

    1.自己定义的类,他自己可以隐式初始化,调用她自己的默认够着函数,但是根据实验,好像只能调用默认够着函数

    2.初始化列表和成员函数的构造一共值初始化一次,如果有列表,他自己就不构造了

    3.初始化列表中的元素和成员的初始化,在构造函数之前运行

    问题:const static 继承 virtual 特殊成员函数 这一堆关键词混合使用的时候会发生什么情况,这个需要弄明白

    静态成员的使用

    #include<iostream>
    #include<vector>
    using namespace std;
    
    class Text{
    public:
        static const int a = 1; ///static 数据成员独立与该类存在
        ///static int b = 1; ///静态成员也不能这么初始化变量
        static int b;
        static vector<int> d ;///估计这次他就没有办法自己初始化了
        static void f1(){cout<<"f1"<<endl;} ////成员函数没有this形参,他可以直接访问所属的类的static成员,不能使用非静态的
        static void f2(){b=2;cout<<b<<endl;}
        static void f4(){b++;cout<<b<<endl;}
        Text(){ f4();}
        ///void f3(){b=3;cout<<b<<endl;}非静态函数,无法调用
        //Text():a(2),b(2){} ///C++规定const静态类成员可以直接初始化,其他非const的静态类成员需要在类声明以外初始化
    };
    
    ///文章中解释说派生类也可以共享静态成员b,一会要试试
    ///静态数据成员的类型可以是所属类的类型,而普通数据成员则不可以。普通数据成员的只能声明为 所属类类型的 指针或引用。举例如下
    ///静态成员函数不可以调用类的非静态成员。因为静态成员函数不含this指针
    ///静态成员函数不可以同时声明为 virtual、const、volatile函数。举例如下: 
    
    class Paper:public Text{
    
    };
    
    int Text::b = 0;
    //int Text::f1(){cout<<"f1"<<endl;}
    
     int main()
    {
        Text::f1();///可以直接调用
        Paper::f1();///继承后也可以使用
        Paper::f2();///静态成员函数可以调用静态变量
        ///Paper::f3();非静态函数,无法调用
        Text* t = new Text[5];///可以实现计数的功能
     }
    berkeleysong
  • 相关阅读:
    最好的 6 个 HTML5 的多媒体播放器
    原型开发、模型构建和设计反馈在线工具
    让Xcode 4.2生成的app支持旧版iOS设备(armv6)
    TOUCHXML解析xml
    50 个最佳 CSS3 教程大放送
    十八般武艺!移动应用开发者必备的18款利器
    ios开源程序集
    iOS如何隐藏各种bar
    读书笔记之:C语言教程(C程序设计第三版)——清华大学
    JM8.6中帧内帧间模式的选择
  • 原文地址:https://www.cnblogs.com/berkeleysong/p/3738859.html
Copyright © 2011-2022 走看看