zoukankan      html  css  js  c++  java
  • C++ static 数据成员和构造函数

    #include<iostream>
    using namespace std;
    class Temp
    {
        int x;
        static int y;
        //y = 4;
    public:
        
        Temp(int m = 0,int n = 90 )
        {
            x = m;
            y = n;               //完全可以这样写,但是你想一想,static定义的目的是什么?为的就是所有对象都可以使用
    //而实际上要是这么定义的话,会把y的值设置为 90 这会改变定义 static类型 y 的初衷,完全失去了意义
    } /* Temp() { x = 6; y = 6; //一个类里面默认只能有一个默认构造函数 } */ void display() { cout<<x<<" "<<y<<endl; } }; int Temp::y = 30; int main() { Temp t; t.display(); //没有return 值 return 0; }

    #include<iostream>
    using namespace std;
    class Time
    {
        int h;                             //C++默认定义数据成员是私有的
        int m;
        int s;
    public:
        Time(int j=0,int k=0,int l=0):h(j),m(k),s(l)         //默认值一定要放在右边 !!!!
        {                                                  //这个不是默认构造函数
    //所以说这个类中没有默认构造函数,但是一个类中必须有一个默认构造函数 } }
    class Temp //C++默认继承方式是私有的 如果需要其他继承类型 则 class 子类: public 父类 { //这根本就不是继承,就是内嵌调用 Time temp; //对于创建内嵌对象,如果没有显示调用构造函数,会默认调用time的构造函数 const int x; //C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的 C++ const 和 static 有什么区别? int y; public: Temp(int m = 0,int n = 0) :x(m) //!!!!!这才是正确的赋值方法 { //x = m; // 因为X是const类型,所以不能赋值 y = n; } void display() { cout<<x<<" "<<y<<endl; } }; int main() { Temp t; t.display(); return 0; }
  • 相关阅读:
    bash while until 循环用法
    微信小程序入门介绍
    jquery遍历
    jquery获取元素和DOM获取元素
    ul在div中水平居中效果
    一个文字在一个图片上水平居中,并且悬浮变大特效
    一个div在另一个div中垂直居中的方法
    layer插件的使用
    百度分享插件使用
    图标字体
  • 原文地址:https://www.cnblogs.com/zhangqianxi/p/14088970.html
Copyright © 2011-2022 走看看