c++面向对象之封装

c++面向对象三大特性:封装、继承、多态;

封装的意义:

  • 将属性和行为作为一个整体,表现生活中的事物;
  • 将属性和行为加以权限控制;
#include<iostream>
using namespace std;

class Student {
public:
    string name;
    int age;
    double score;
    void show() {
        cout << "姓名:" << name << endl;
        cout << 年龄:" << age <<分数:" << score << endl;
    }
    void setName( name) {
        this->name = name;
    }
    void setAge( age) {
        this->age = age;
    }
    void setScore( score) {
        this->score = score;
    }
     getName() {
        return this->name;
    }
     getAge() {
        age;
    }
     getScore() {
        this -> score;
    }
};

 main() {
    Student s1;
    s1.name = tom";
    s1.age = 12;
    s1.score = 99.0;
    s1.show();
    s1.setName(jack);
    s1.setAge(22);
    s1.setScore(100.0);
    cout << s1.getName() << endl;
    cout << s1.getAge() << endl;
    cout << s1.getScore() << endl;
    s1.show();
    system(pause);
    return 0;
}

输出:

 

c++中的访问权限:

  • public:类内可以访问,类外可以访问;
  • private:类内可以访问,类外不可以访问;子类可以访问父类的保护内容;
  • protected:类内可以访问,类外不可以访问;子类不可以访问父类的保护内容;
#include<iostream>
private score;
 endl;
    }
};

 main() {
    Student s1;
    /* 此时这样访问会报错
    s1.name = "tom";
    s1.age = 12;
    s1.score = 99.0;
    */
    s1.show();
    //可以通过set和get方法去操作成员私有变量
    s1.setName(;
}

输出:

 

对于全局变量,如若不初始化,都会默认有一个固定的值;对于局部变量,如若不初始化,默认会有一个随机值。

相关文章

首先GDB是类unix系统下一个优秀的调试工具, 当然作为debug代...
1. C语言定义1个数组的时候, 必须同时指定它的长度.例如:int...
C++的auto关键字在C+⬑新标准出来之前基本...
const关键字是用于定义一个不该被改变的对象,它的作用是告诉...
文章浏览阅读315次。之前用C语言编过链表,这几天突然想用C+...
文章浏览阅读219次。碰到问题就要记录下来,防止遗忘吧。文章...