• C++ 类和对象浅解


    #include<iostream>
    #include <string.h>
    using namespace std;
    
    struct student{
        int id;         //成员变量或对象
        char name[64];
        int age;
        int score;
        //...
    };
    typedef struct student STU;
    
    void modify_stu_name(STU* pstu,const char*new_name)
    {
        strcpy(pstu->name, new_name);
    }
    void modify_stu_score(STU*pstu,const int new_score)
    {
        pstu->score = new_score;
    }
    void show_stu(STU*pstu)
    {
        cout<<"id="<<pstu->id<<endl;
        cout<<"name="<<pstu->name<<endl;
        cout<<"age="<<pstu->age<<endl;
        cout<<"score="<<pstu->score<<endl;
    
    }
    class Student{
    private:
        //属性
        int id;         //成员变量或对象
        char name[64];
        int age;
        int score;
    
        public:
        //成员方法或函数//行为
        Student(){}
        Student(int i,const char*n,int a,int s){
        id=i,strcpy(name,n),age=a,score=s;
        }
        void modify_stu_name(const char*new_name)
        {
            strcpy(name, new_name);
        }
        void modify_stu_score(const int new_score)
        {
            score = new_score;
        }
        void show_stu()
        {
            cout<<"id="<<id<<endl;
            cout<<"name="<<name<<endl;
            cout<<"age="<<age<<endl;
            cout<<"score="<<score<<endl;
        }
    };//end class Student
    
    int main()
    {
    //  Student s ={1001,"wangwu",20,99};
        Student s(1001,"wangwu",20,99);
        s.id =1003;
        s.modify_stu_name("maliu");
        s.modify_stu_score(95);
        s.show_stu();
    
    
        struct student stu={1001,"zhangsan",20,100};
        stu.id = 1002;
        modify_stu_name(&stu,"lisi");
        modify_stu_score(&stu,90);
        show_stu(&stu);
    #if 0
    //err:  name[64] = "lisi";
        const char *p ="lisi";
    //  p[0] = 'k';
        strcpy(stu.name,"lisi");
        strcpy(stu.name,p);
        cout<<stu.name<<endl;
        stu.score = 90;
        cout<<stu.score<<endl;
    #else
    #endif
    #if 0
        name[0] = 'l';
        name[1] = 'i';
        name[2] = 's';
        name[3] = 'i';
        name[4] = '';
    #else
    //  strcpy(name, "lisi");
    #endif
    //  cout<<name<<endl;
        //此“zhangsan”放在栈,因为name属于栈空间的
        char name []="zhangsan";
    
        return 0;
    }
    
  • 相关阅读:
    python 抽象
    hive处理日志,自定义inputformat
    random os sys 序列化模块
    collections time模块
    面试题
    正则表达式 和 re模块
    模块的导入 异常处理和软件开发目录规范
    函数的迭代 函数生成器 常用的内置方法
    函数递归 三元表达式 匿名函数 函数内置方法
    闭包函数 装饰器
  • 原文地址:https://www.cnblogs.com/Sico2Sico/p/5384261.html
Copyright © 2020-2023  润新知