C++面向对象

类 & 对象

类是对象的抽象和概括,而对象是类的具体和实例

  • 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。
  • 类中的数据和方法称为类的成员。(成员有变量也有函数,分别成为类的属性和方法)
#include
#include
using namespace std;

/*class Student
{
    public:
        int num;
        char name[100];
        int score;
        int print()
        {
            cout<print();
    
    Student& A_reference=A;  //引用定义时就要初始化 
    //A_reference=A;  错误 
    A_reference.print(); 
    
    return 0;
} 
image

类的定义

定义一个类,本质上是定义一个数据类型的蓝图。它定义类的对象包括了什么,以及可以在这个对象上执行哪些操作。

类的定义以关键字class开头,后面跟类的名称。类的主体包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表

写法1

成员函数定义在在类里

class Student
{
    public:       //声明公有成员,可被类的任何对象访问
        int num;
        char name[100];
        int score;
        int print()
        {
            cout<

写法2

成员函数定义在类外,使用范围解析运算符(作用域限定符)::
在::限定符前必须使用类名

class Student
{
    public:
        int num;
        char name[100];
        int score;
        int print(); 
}; 

int Student::print()
{
    cout<

对象的建立和使用

类就是包含函数的结构体,是一种自定义数据类型,用它定义出来变量,就是对象,这就是所谓的“对象是类的具体和实例”,定义了一个这个类的对象,也可以说实例化了一个对象,就是这个意思!

  1. 声明类的对象,就像声明基本的变量类型一样
  2. 访问公共数据成员可以使用直接成员访问运算符.来访问
Student A;    //声明A,类型为Student
A.num=1700710135;
strcpy(name,"ye shan");
A.score=100;
A.print();

类的访问修饰符

  • private
  • protected
  • public
  1. 成员和类的默认访问修饰符是private
      私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。
  2. 保护成员修饰符protected,保护成员变量或函数与私有成员十分相似,但有一点不同,保护成员变量在派生类(即子类)中是可以访问的。
  3. 公有成员在程序中类的外部是可以访问的。可以在不适用任何成员函数来设置和获取公有变量的值
#include
#include
using namespace std;
class Student
{
    private:
        int num;
    protected:
        int score;
    public:
        char name[100];
        int GetNum(int n);
        int GetScore(int s);
};

int Student::GetNum(int n)
{
    num=n;
    return num;
} 

int Student::GetScore(int s)
{
    score=s;
    return score;
}

int main()
{
    Student A;
    
    strcpy(A.name,"yeshan");
    cout<<"the name is"<<" "<
image

派生类中使用protected成员变量

#include
#include
using namespace std;
class Student
{
    private:
        int num;
    protected:
        int score;
    public:
        char name[100];
        int GetNum(int n);
        int GetScore(int s);
};

class Small_Student:Student//Small_Student是派生类 
{
    public:
        int Get_Score_1(int temp); 
}; 
int Small_Student::Get_Score_1(int temp)   //子类成员函数 
{
    score=temp;
    return score;
} 

int Student::GetNum(int n)
{
    num=n;
    return num;
} 

int Student::GetScore(int s)
{
    score=s;
    return score;
}

int main()
{
    Student A;
    
    strcpy(A.name,"yeshan");
    cout<<"the name is"<<" "<
image

你可能感兴趣的:(C++面向对象)