精华内容
下载资源
问答
  • C++对象和类概念

    千次阅读 2017-11-25 12:18:12
    1、对象和类概念  对象:实体,真实存在的个体。  编译器为之分配空间的变量。  特征属性,行为。  类: 具有共性的实体的抽象。  自定义的数据类型  struct stu  {   int age;  };  struct stu xiaoming;...
    1、对象和类概念
        对象:实体,真实存在的个体。
              编译器为之分配空间的变量。
              特征属性,行为。
        类: 具有共性的实体的抽象。
              自定义的数据类型
        struct stu
        { 
            int age;
        };
        struct stu xiaoming;
        xiaoming就是对象,struct stu就是类。

    2、C++对于结构的增强
        struct stu
        {
            char *name;  //数据
            int age;
            void fun()
            {
                printf("age\n",age);
            }
        };
        
        a.结构名可以直接做类型名。
            C:struct  stu xiaoming;
            C++:stu xiaoming;
        b.结构中可以定义函数。
        c.结构中对于数据和函数有权限的划分。(封装性)
            public(公共的):类内和类外均可以访问
            private(私有的):只能在类内访问,类外无法访问。
            protected(受保护的):只要不涉及到继承,和private相同。
        补充:
            1.struct关键字定义的类型中如果成员前没有权限符修饰,默认为public
            2.权限符生效范围是上个权限符到下个权限符中间的部分。
            3.权限符可以出现任意次,但不建议这样使用。
        注意:
            1、C++的结构除了上述增强外,其余基本和C中没有差别,
                如:成员访问方法,对齐原则等均一样。
            2、类的成员函数应当在外部定义,内部给出声明即可。外部定义时要指定函数的作用域。
        C++使用class关键字用于定义类,和struct关键字的用法相同。只不过class关键字默认的类型为private
        

    3、对象的引用
        a.同一类的对象可以相互赋值。
            当类中有指针且有动态内存分配时,不要随便赋值,有可能会出现问题。
        

    4.构造函数
        构造函数主要用于在定义对象时,完成对象的初始化.
        每一个类都应该有一个构造函数,如果用户没有定义构造函数,
        编译器会自动生成构造函数(参数和函数体为空的构造函数),如果用户自定义了构造函数,那么编译器不再提供默认的构造函数。
        
        特性:
            1.构造函数的名称必须要与当前类的名称相同。
            2.构造函数仅在定义对象时由系统调用,其他时间无法调用。
            3.构造函数可以有参数,也可以没有参数,但是不允许有返回值。
            4.构造函数只能定义为公有成员,不能定义为其他。
        调用条件:
            1.定义对象时。
            2.为对象分配动态内存时。
            3.定义无名对象(稍作了解)
        注意:
            构造函数可以进行重载,以便用于不同形式的对象的定义。
            构造函数还可以使用默认的缺省参数。如果构造函数既有重载,又有缺省参数时,注意不要产生二义性。

    5.析构函数
        析构函数是一种特殊的成员函数,完成与构造函数相反的工作,对象退出生命周期时,完成清理的工作。如:释放内存等。
        特性:
        1.析构函数的名称与类的名称相同。为了区分,析构函数名字前面有~
            构造:stu(){}
            析构:~stu(){}
        2.析构函数无参、无返回值。
        3.析构函数不可重载。每一个类有且只有一个析构函数,但是可以有多个构造函数。
        4.在对象退出生命周期时,编译器会自动调用析构函数。但是,可以人为调用析构函数,不过没意义。
        5.一般情况下,使用系统默认的析构函数就可以。当类中有动态内存分配时,需要增加自定义的析构函数,否则有可能会导致内存泄露。
        
        调用条件:
            1.对象退出生命周期时。
            2.释放动态分配的对象空间。

    6.析构顺序
        同一作用域下,先构造的后析构。

    7.拷贝构造函数
        在定义对象时,使用已知对象初始化新的对象。
        
        特性:
        1、拷贝构造函数也是构造函数,名称为类的名字,无返回值。
        2、如果没有自定义的拷贝构造函数,系统会提供默认的拷贝构造函数
            stu(const 当前类的对象的引用)
            {
            
            }
            当类中有指针且进行动态内存分配时,要使用自定义的拷贝构造函数。
        3、可以自定拷贝构造函数,如果自定义后,默认的拷贝构造函数失效。
        补充:
            浅拷贝:只复制数据,没复制内存空间。
            深拷贝:既拷贝数据,也要复制内存空间。
        
        调用条件:
        1、使用已知对象初始化新对象。
            stu s2 = s1;
        2、如果函数参数是某类的对象
            void fun(stu s1){}
            fun(s2);
        3、如果函数返回值为某类的对象时。
            stu fun(){}
            stu s1 = fun();
            
            如果使用无名对象初始化新的对象,不会调用拷贝构造函数。

            
    8、const修饰的成员函数
        对于一般的成员函数来说,可以访问和修改任意数据成员的值。
        如果不希望某个成员函数修改成员的值可以使用const修饰该函数。
        格式:
             返回值类型  函数名(参数列表)const
            void stu::getnum()const
            {
            }
        
        如果希望const修饰的成员函数还可以改变某个成员值,可以在该成员前使用mutable修饰。
    展开全文
  • C++对象和类】复数类

    千次阅读 2019-04-05 00:43:35
    定义一个复数complex,数据成员包括实部real虚部imag,均为double类型。成员函数包括: (1) 默认构造函数(即无参的构造函数),实部虚部分别赋值为1.0,1.0 ; (2) 带两个参数的构造函数; (3) 输出复数的函数...

    仅作为自己的学习记录,欢迎指正和建议
    2.
    Description
    定义一个复数类complex,数据成员包括实部real和虚部imag,均为double类型。成员函数包括:

    (1) 默认构造函数(即无参的构造函数),实部和虚部分别赋值为1.0,1.0 ;

    (2) 带两个参数的构造函数;

    (3) 输出复数的函数display, 输出格式为 实部+虚部i,例如: 1.00+1.00i ;

    (4) 输入复数的函数input, 从键盘输入复数的实部和虚部;

    (5) 计算复数的模的函数magnitude(函数返回值为double型),即对于复数 z=a+bi,它的模 |z|=sqrt(a2+b2)。

    要求在main函数中创建3个复数对象,第1个复数的实部和虚部用input函数从键盘输入,第2、3个复数分别由用默认构造函数和带参数的构造函数实现初始化,最后分别输入这3个复数以及它们的模。

    int main()

    {

    complex val1,val2,val3(1.5,2.8);
    
     val1.input();
    
    val1.display();
    
    cout<<"  "<<fixed<<setprecision(2)<<val1.magnitude()<<endl;
    
     val2.display();
    
    cout<<"  "<<val2.magnitude()<<endl;
    
     val3.display();
    
    cout<<"  "<<val3.magnitude()<<endl;
    
     return 0;  
    

    }

    Input
    输入复数的实部和虚部,两个实数之间用空格分开

    Output
    3个复数应输出3行数据,每行输出数据分两部分,先输出复数,再输出该复数的模,复数和它的模之间用2个空格分隔,所有实数小数点后保留两位

    Sample Input
    1.0 2.0
    Sample Output
    1.00+2.00i 2.24
    1.00+1.00i 1.41
    1.50+2.80i 3.18
    HINT
    代码//

    #include<iostream>
    #include<iomanip>
    #include<cmath>
    using namespace std;
    class complex
    {
    	public:
    	complex();
    	complex(double a,double b);
    	void input();//输入
    	void display();//输出
    	double magnitude();//计算模长
    	private:
    	double real;
    	double imag;
    };
    complex::complex() //默认
    {
    	real=1.0;
    	imag=1.0;
    }
    complex::complex(double a,double b):real(a),imag(b){}//赋值
    void complex::input()//输入
    {
    	double x,y;
    	cin>>x>>y;
    	real=x;
    	imag=y;
    }   
    double complex::magnitude()//计算模长
    {
    	double i;
    	i=sqrt(real*real+imag*imag);
    	return i;
    }
    void complex::display()//输出复数
    {
    	if(real==0)
    	{
    		cout<<fixed<<setprecision(2)<<imag<<"i";
    	}
    	if(imag==0)
    	{
    		cout<<fixed<<setprecision(2)<<real;
    	}
    	if(imag<0)
    	{
    		cout<<fixed<<setprecision(2)<<real<<imag<<"i";
    	}
    	else
    	{
    		cout<<fixed<<setprecision(2)<<real<<"+"<<imag<<"i";
    	}
    }
    int main()
    {
    
        complex val1,val2,val3(1.5,2.8);
    
         val1.input();
    
        val1.display();
    
        cout<<"  "<<fixed<<setprecision(2)<<val1.magnitude()<<endl;
    
         val2.display();
    
        cout<<"  "<<val2.magnitude()<<endl;
    
         val3.display();
    
        cout<<"  "<<val3.magnitude()<<endl;
    
         return 0;  
    
    }
    
    
    展开全文
  • C++对象和类】长方形类

    千次阅读 2019-04-05 00:38:51
    定义长方形rectangle,数据成员包括长length宽width,均为double类型,成员函数包括: (1)构造函数2个,一个无参的构造函数,长和宽的默认值为0,带两个参数的构造函数; (2)设置长方形尺寸函数assign,即任意...

    仅作为本人的学习记录,欢迎指正和建议(不接受批评,如果有人看见的话。。。)
    1.
    Description
    定义长方形类rectangle,数据成员包括长length和宽width,均为double类型,成员函数包括:

    (1)构造函数2个,一个无参的构造函数,长和宽的默认值为0,带两个参数的构造函数;

    (2)设置长方形尺寸函数assign,即任意输入2个实数,大的数赋值给长,小的数赋值给宽

    (3)计算长方形周长函数double circumference();

    (4)计算长方形面积的函数double area();

    (5)输出长方形的长和宽

    要求在main函数中创建3个长方形的对象,第1,2个长方形分别由无参构造函数和有参构造函数初始化实现,第3个长方形对象通过输入数据,调用设置长方形尺寸函数,给长宽赋值,然后分别计算3个长方形的周长和面积,并输出结果

    int main()

    {

    rectangle c1,c2(2.0,1.0),c3;
    
    double x,y;
    
    cin>>x>>y;
    
    c3.assign(x,y);
    

    … 其余代码自己填写…

        return 0;
    

    }

    Input
    输入仅一行数据,输入2个实数,数据之间用空格分开

    Output
    3个长方形输出3行数据,每行数据先输出长方形的长、宽,再输出它对应的周长和面积,小数点后保留2位数字,一行中4个数据之间用逗号分隔

    Sample Input
    2.5 3.8
    Sample Output
    0.00,0.00,0.00,0.00
    2.00,1.00,6.00,2.00
    3.80,2.50,12.60,9.50
    HINT
    代码///

    #include<iostream>
    #include<iomanip>
    using namespace std;
    class rectangle
    {
    	public:
    	rectangle();
    	rectangle(double a,double b);
    	void assign(double a,double b);//赋值,大的给长,小的给宽 
    	double circumference();//计算周长 
    	double area();//计算面积
    	void display();//输出 
     	private:
     	double length;
    	double width;
     };
    rectangle::rectangle()
    {
    	length=0.00;
    	width=0.00;
    }
    rectangle::rectangle(double a,double b):length(a),width(b)
    {}
    void rectangle::assign(double a,double b) //长与宽 
    {
    	if(a>=b)
    	{length=a;width=b;}
    	else
    	{length=b;width=a;}
    }
    double rectangle::circumference()//计算周长 
    {	
    	return 2*(length+width);
    }
    double rectangle::area()//计算面积 
    {
    	return length*width;
    }
    void rectangle::display()//输出
    {
    	cout<<fixed<<setprecision(2)<<length<<","<<width<<","<<circumference()<<","<<area()<<endl;
    }
    
    int main()
    
    {
    
        rectangle c1,c2(2.0,1.0),c3;
    
        double x,y;
    
        cin>>x>>y;
    
        c3.assign(x,y);
        c1.display();
    	
        c2.display();
    
        c3.display();
    
    } 
    
    
    展开全文
  • C++ 对象 &

    千次阅读 多人点赞 2021-05-02 02:12:24
    C++ 对象 (Object) (Class) 简介

    什么是对象

    任何事物都是一个对象, 也就是传说中的万物皆为对象. 在这里插入图片描述
    对象的组成:

    • 数据: 描述对象的属性
    • 函数: 描述对象的行为, 根据外界的信息进行相应操作的代码
    • 具有相同的属性和行为的对象抽象为类 (class)
    • 类是对象的抽象
    • 对象则是类的特例

    面向过程 vs 面向对象

    面向过程

    面向过程的设计:

    • 围绕功能, 用一个函数实现一个功能
    • 程序 = 算法 +数据结构
    • 算法和数据结构两者互相独立, 分开设计

    面向对象

    面向对象的设计:

    • 把算法和数据封装在一个对象中
    • 设计所需要的歌者类和对象
    • 向有关对象发送消息
    • 对象 = 算法 + 数据结构
    • 程序 = 对象*n + 消息

    什么是类

    在 C++ 中, 用类来描述对象. 类属于用户自定的数据类型, 并且该类型的数据具有一定的行为能力, 也就是类中所描述的方法. 通常来说一个类的定义包含两部分的内容, 一是该类的属性, 二是该类的所拥有的方法.
    在这里插入图片描述

    类的格式

    格式:

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

    例子:

    main.cpp:

    #include "Student.h"
    
    using namespace std;
    
    int main() {
        Student student1(1, "Little white", 'f');
    
        student1.display();
        return 0;
    }
    

    Student.cpp:

    #include "Student.h"
    #include <iostream>
    using namespace std;
    
    
    
    
    Student::Student(int n, string p, char g) {
        num = n;
        name = p;
        gender = g;
    }
    
    void Student::display() {
        cout << "num: " << num << endl;
        cout << "name: " << name << endl;
        cout << "gender: " << gender << endl;
    }
    

    Student.h:

    #ifndef PROJECT1_STUDENT_H
    #define PROJECT1_STUDENT_H
    
    #include <string>
    using namespace std;
    
    
    class Student {
    private:  // 私有成员
        int num;  // 学号
        string name;  // 名字
        char gender;  // 性别
    public:
        Student(int num, string name, char gender);
        void display();
    };
    
    
    #endif //PROJECT1_STUDENT_H
    

    输出结果:

    num: 1
    name: Little white
    gender: f
    

    类的成员函数

    类的成员函数是一个类的成员, 在类体重声明.

    注: 如果一个类中不包含成员函数, 就等同于 C 语言中的结构体了, 体现不出类在面向对象程序设计中的作用.

    函数访问权限

    一般的做法: 讲需要被外界调用的成员函数指定为 public, 它们是类的对外接口. (有的函数只被本类中的成员函数调用, 以支持其他的函数操作, 应该将它们制定为 private)

    私有的成员函数只能被本类中的其他成员函数所调用, 而不能被类外调用. 成员函数可以访问本类中任何成员 (包括私有和公用的), 可以引用在本作用域中有效的数据.

    调用成员函数的权限:

    • private: 私有的
    • public: 公有的
    • protected: 受保护的

    访问对象中成员的 3 种方法:

    1. 通过对象名和成员运算符访问对象中的成员
    2. 通过指向对象的指针访问对象中的成员
    3. 通过对象的引用变量访问对象中的成员

    方法一

    通过对象名和成员运算符访问对象中的成员.

    Time 类:

    #ifndef PROJECT1_TIME_H
    #define PROJECT1_TIME_H
    
    class Time {
    private:
        int hour;
        int minute;
        int second;
    public:
        void set_time(int h, int m, int s);
        void show_time();
    };
    
    #endif //PROJECT1_TIME_H
    

    main:

    int main() {
        Time time;
        time.set_time(6, 6, 6);
        time.show_time();
    
        return 0;
    }
    

    输出结果:

    6:6:6
    

    方法二

    通过指向对象的指针访问对象中的成员.

    Time 类:

    #ifndef PROJECT1_TIME_H
    #define PROJECT1_TIME_H
    
    class Time {
    private:
        int hour;
        int minute;
        int second;
    public:
        void set_time(int h, int m, int s);
        void show_time();
    };
    
    #endif //PROJECT1_TIME_H
    

    mian:

    int main() {
    
        Time time;  // 实例化time
        time.set_time(6, 6, 6);  // 设置时间
    
        Time *p = &time;  // 定义指针, 指向time地址
        p->show_time();
        (*p).show_time();
    
        return 0;
    }
    

    输出结果:

    6:6:6
    6:6:6
    

    方法三

    通过对象的引用变量访问对象中的成员.

    引用变量共占同一段存储单元. 实际上它们是同一个对象, 只是不同的面子表示而已.

    Time 类:

    #ifndef PROJECT1_TIME_H
    #define PROJECT1_TIME_H
    
    class Time {
    private:
        int hour;
        int minute;
        int second;
    public:
        void set_time(int h, int m, int s);
        void show_time();
    };
    
    #endif //PROJECT1_TIME_H
    

    mian:

    int main() {
    
        Time time1;  // 实例化time
        time1.set_time(6, 6, 6);  // 设置时间
        
        Time &time2 = time1;
        time2.show_time();
    
        return 0;
    }
    

    输出结果:

    6:6:6
    

    inline 成员函数

    使用内置函数只是影响编译过程. 使用内置函数可以节省运行时间, 但却增加了目标程序的长度:

    内置函数:

    • 一般只将规模很小而使用频繁的函数声明为内置函数
    • 内置函数中不能包括复杂的控制语句, 如循环语句和 switch 语句
    • 对函数做 inline 声明, 只是程序设计者对编译系统提出的一个建议, 而不是指令性的

    例子:

    # include <iostream>
    
    using namespace std;
    
    inline int max(int, int, int);
    
    int main() {
        int i = 10, j = 20, k = 40, m;
        m = max(i, j, k);
        cout << "max= " << m << endl;
    
        return 0;
    }
    inline int max(int a, int b, int c){
        a = b > a ? b : a;
        a = c > a ? c : a;
        return a;
    }
    
    展开全文
  • C++对象的类型称为代表了某一批对象的共性特征,对象的抽象,而对象的具体实例, 是抽象的,不占用内存,而对象是具体的,占用 存储空间,这点很重要,读者需要牢记。 C++声明类型 是用户...
  • C++学习:对象和类详细总结

    万次阅读 多人点赞 2017-07-12 14:51:00
    C++对象和类总结
  • C++C++类和对象

    2017-06-26 20:50:21
    最近在公司弄游戏开发,C++基础也不是特别好,所以就打算继续开始学习C++。既然从头学习C++,就打算写一个系列教程。C++学习之路。 我是在边学习C++,边学习cocos2dx 3.X,白天时间不是很多, ...在C++中,对象
  • C++中的类和对象

    千次阅读 多人点赞 2019-06-08 11:38:28
    文章目录C++中的类和对象抽象和类类型C++中的类实现类成员函数内联方法使用类类的构造函数和析构函数`const`成员函数构造函数和析构函数小结`this`指针对象数组类的作用域抽象数据类型 C++中的类和对象 抽象和类 ...
  • c++类和对象

    千次阅读 2019-01-13 15:26:38
    首先,明白c++和C语言的区别: C语言面向过程,c++面向对象; 面向过程:即我们着力于项目的每个过程... 由于c++面向对象的特点,类和对象就由此产生; :是抽象的一个类别; 对象:是的实例化,相当于现实...
  • C++对象和类指针的区别

    万次阅读 多人点赞 2019-04-17 20:57:28
    一篇转载率较高的帖子:C++ 类对象和 指针的区别 大佬都不贴结果。。。。所以这里我给出代码和结果: #include<iostream> using namespace std; class Test{ public: int a; Test(){ a = 1; } }; ...
  • [C/C++]详解C++类和对象

    万次阅读 多人点赞 2021-05-24 13:09:01
    类和对象是面向对象编程技术中的最基本的概念。 1.面向对象 首先来理解什么是面向对象编程。 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是...
  • C++类和对象数组

    万次阅读 多人点赞 2018-05-14 23:47:15
    C++类和对象数组 【1】对象数组 1:对象数组的定义:类名 数组名[元素个数] Eg: student asa[10];//有10个元素的学生类对象数组 2:对象数组的访问形式:数组名[下标].成员名; Eg: asa[j].print(); 3:对象...
  • 是对某一事物的抽象描述,具体地讲,C++中的一种构造的数据类型。它即可包含描述事物的数据,又可包含处理这些数据的函数,在程序运行时是被用作样板来建立对象的。所以要建立对象,首先必须定义。 定义...
  • C++类和对象详解

    千次阅读 多人点赞 2020-05-08 00:43:54
    两种创建对象的方式:一种是在栈上创建,形式定义普通变量类似;另外一种是在堆上使用 new 关键字创建,必须要用一个指针指向它,读者要记得 delete 掉不再使用的对象。 通过对象名字访问成员使用点号.,通过对象...
  • C++ 类和对象提高

    千次阅读 2021-03-15 11:17:41
    C++ 类和对象提高 this 指针 this 指针的概念:是一个隐含于每一个非静态成员函数中的特殊指针,其作用就是指向调用该成员函数的那个对象。换言之,非静态成员函数中可以直接使用 this 来代表指向该函数作用的对象的...
  • C++类和对象

    2017-10-07 17:15:35
    1.类和对象 定义一个: class A { private: int x, y, z; void fun1(){}; public: int a,b,c; void fun2(){}; }; C++的限定符:public(公共)、private(私有、默认属性)、protected(保护)。 ...
  • C++ 类和对象基础

    千次阅读 2021-03-10 10:33:17
    C++ 类和对象基础 结构化程序设计 结构化程序设计的概念:是进行以**模块**功能处理过程设计为主的详细设计的基本原则。结构化程序设计是面向过程程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解修改...
  • 4. C++对象模型this指针4.1 成员变量成员函数分开存储4.2 this指针概念4.3 空指针访问成员函数4.4 const修饰成员函数 4. C++对象模型this指针 4.1 成员变量成员函数分开存储   在C++中,内的成员变量...
  • C++类和对象实例解析

    千次阅读 2017-01-12 11:08:29
    C++类和对象实例解析
  • C++封装:类和对象

    千次阅读 2020-02-26 12:35:04
    2-1 C++类和对象 目的不同,抽象出的信息不同; 对象是具体的事物;...扩展:结构体和类的区别: 1.语法定义上的区别:定义类使用关键字class 定义结构使用关键字struct; 2.结构体中声明的字段无法赋予初...
  • C++类和对象学习总结

    千次阅读 2017-05-03 21:50:22
    C++中的对象 http://blog.csdn.net/qq_32583189/article/details/52412369 C++中的对象 标签(空格分隔): c++  C中的对象 定义 创建头文件 类和结构体 访问控制 作用域解析运算符 实现成员...
  • C++语言—类和对象

    千次阅读 2018-09-06 16:14:41
    类和对象的初步认识: 1.对象的抽象,而对象的具体实例 是抽象的,不占用内存;而对象是具体的,占用存储空间 2.面向过程与面向对象 C语言是面向过程的,关注的是过程中的数据与方法 C++语言是面向...
  • c++和类的封装,对象线程封装

    千次阅读 2017-07-30 09:18:02
    c++和类的封装,对象线程封装C++面向对象编程介绍 面向对象编程(Object Oriented Programming),简称OOP。 在传统的面向过程编程中,数据以及数据的相关操作函数都是分离的独立个体; 对象,如周围的一切其实都是...
  • C++类和对象概念

    千次阅读 2016-08-06 20:13:06
    C++是一门面向对象的编程语言,理解C++,首先要理解对象这两个概念。 C++中的可以看做C语言中结构体(Struct)的升级版。结构体是一种构造数据类型,可以包含若干成员(变量),每个成员的数据类型可以不...
  • C++类和对象的概念

    千次阅读 2018-06-10 17:31:13
    C++类和对象的概念 面向对象程序设计 概念:(Object Oriented Programming,缩写:OOP)是一种程序开发的方法。 对象指的是的实例,将对象作为程序的基本单元,将程序数据封装其中,以提高软件的重用性、...
  • C++学习——类和对象

    千次阅读 2020-02-12 16:42:13
    一、类和对象基本知识: 1、的访问控制有哪些? 公有成员:以关键字public指明。 私有成员:以关键字private指明。 保护成员:以关键字protected指明。 2、拷贝构造函数的作用是什么? 用一个已经存在的对象初始化...
  • C++类和对象入门

    千次阅读 2020-01-30 12:47:44
    对象则是数据动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。(这是什么玩意,,,,,) 通俗一点,对象就类似于C语言中的结构体,一个事物可以包含好多功能,比如你...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,573
精华内容 17,829
关键字:

c++对象和类

c++ 订阅