• c++类使用


    一、C++定义类(注意:结束部分的分号不能省略

    class 类名
        {
            public:
                //公共的行为或属性
    
            private:
                //公共的行为或属性
        };
    

    注意:类的成员变量在定义时不能进行初始化, 如 int xPos = 0; //错;

    二、在类外定义成员函数

    举例说明:

    #include <iostream>
    
            using namespace std;
    
            class Point
            {
                public:
                    void setPoint(int x, int y); //在类内对成员函数进行声明
                    void printPoint();
    
                private:
                    int xPos;
                    int yPos;
            };
    
            void Point::setPoint(int x, int y) //通过作用域操作符 '::' 实现setPoint函数
            {
                xPos = x;
                yPos = y;
            }
    
            void Point::printPoint()       //实现printPoint函数
            {
                cout<< "x = " << xPos << endl;
                cout<< "y = " << yPos << endl;
            }
    
            int main()
            {
                Point M;        //用定义好的类创建一个对象 点M
                M.setPoint(10, 20); //设置 M点 的x,y值
                M.printPoint();     //输出 M点 的信息
    
                return 0;
            }

    三、C++构造函数

    举例说明:

    #include <iostream>
    using namespace std;
    
    class Student{
    private:
        char *name;
        int age;
        float score;
    
    public:
        //声明构造函数
        Student();
        Student(char *, int, float);
        //声明普通成员函数
        void setname(char *);
        void setage(int);
        void setscore(float);
        void say();
    };
    
    //定义构造函数
    Student::Student(){}
    Student::Student(char *name1, int age1, float score1){
        name = name1;
        age = age1;
        score = score1;
    }
    //定义普通成员函数
    void Student::setname(char *name1){
        name = name1;
    }
    void Student::setage(int age1){
        age = age1;
    }
    void Student::setscore(float score1){
        score = score1;
    }
    void Student::say(){
        cout<<name<<"的年龄是 "<<age<<",成绩是 "<<score<<endl;
    }
    
    int main(){
        //创建对象时初始化成员变量
        Student stu1("小明", 15, 90.5f);
        stu1.say();
       
        //调用成员函数来初始化成员变量的值
        Student stu2;
        stu2.setname("李磊");
        stu2.setage(16);
        stu2.setscore(95);
        stu2.say();
    
        return 0;
    } 
    class Counter
    {
    
    public:
             // 类Counter的构造函数
             // 特点:以类名作为函数名,无返回类型
             Counter()
             {
                    m_value = 0;
             }
             
    private:
          
             // 数据成员
             int m_value;
    }

    四、对象的作用域、可见域与生存周期
        类对象的作用域、可见域以及生存周期与普通变量的保持相同, 当对象生存周期结束时对象被自动撤销, 所占用的内存被回收, 需要注意的是, 如果对象的成员函数中有使用 new 或者 malloc 申请的动态内存程序不会对其进行释放, 需要我们手动进行清理, 否则会造成内存泄露。

  • 相关阅读:
    linux学习笔记--文件
    linux学习笔记——基础命令
    nginx实现动静分离
    keepalived+nginx高可用负载均衡环境搭建
    keepalived衡环境搭建
    redis配置文件redis.conf说明
    基于sentinel 的redis集群环境搭建
    jdk动态代理
    spring的事物实现
    Linux用户配置
  • 原文地址:https://www.cnblogs.com/likailiche/p/4897357.html
Copyright © 2020-2023  润新知