none
class的问题 RRS feed

  • 问题

  • class CRectangle {
        int x, y;
      public:
        void set_values (int,int);
        int area () {return (x*y);}
    };

    void CRectangle::set_values (int a, int b) {
      x = a;
      y = b;
    }

    int main () {
      CRectangle rect;
      rect.set_values (3,4);
      cout << "area: " << rect.area();
      return 0;
    }

    1. 什么时候要用class?

    2. void CRectangle::set_values (int a, int b) 为什么要放::setvalues?不写会怎样?

    3.  CRectangle rect; 什么意思?

    请尽量讲解简单一些。谢谢

    2012年2月10日 7:30

答案

  • 1.类就是变量,一种自定义的变量,可以返回多个值,另外可以封装函数和方法.

    2.定义类里面的函数要用::,表明函数是某个类下面的函数,而不是其他类下面的函数,不写系统会认为是全局或者局部函数,而不属于某个类.

    3. CRectangle rect;意思就是实例化变量一样的意思,正确说法就是实例化类,和int x;意思差不多. 具体不同的是里面有变量和函数的封装,而int x;只有一个值的个体.

    • 已建议为答案 Helen Zhao 2012年2月13日 3:38
    • 已标记为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月10日 7:53
  • 1. 类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。<//font>类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的。这些行为是通过一种操作接口来描述的(也即平时我们所看到的类的成员函数),使用者只关心的是接口的功能(也就是我们只关心类的各个成员函数的功能),对它是如何实现的并不感兴趣。而操作接口又被称为这类对象向其他对象所提供的服务。<//font>

    2. 作用域标示符

    3. 定义一个类的对象

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已建议为答案 Helen Zhao 2012年2月13日 3:38
    • 已标记为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月10日 9:41
    版主
  • 1、需要自己封装一些数据的话应该考虑使用class

    2、这个符号是作用域操作符,因为setvalues是类的成员,不加这个操作符会提示没有定义

    3、变量声明


    新浪微博http://weibo.com/xianglitian,欢迎围观

    • 已建议为答案 Helen Zhao 2012年2月13日 3:38
    • 已标记为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月11日 0:54

全部回复

  • 1.类就是变量,一种自定义的变量,可以返回多个值,另外可以封装函数和方法.

    2.定义类里面的函数要用::,表明函数是某个类下面的函数,而不是其他类下面的函数,不写系统会认为是全局或者局部函数,而不属于某个类.

    3. CRectangle rect;意思就是实例化变量一样的意思,正确说法就是实例化类,和int x;意思差不多. 具体不同的是里面有变量和函数的封装,而int x;只有一个值的个体.

    • 已建议为答案 Helen Zhao 2012年2月13日 3:38
    • 已标记为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月10日 7:53
  • 1. 类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。<//font>类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的。这些行为是通过一种操作接口来描述的(也即平时我们所看到的类的成员函数),使用者只关心的是接口的功能(也就是我们只关心类的各个成员函数的功能),对它是如何实现的并不感兴趣。而操作接口又被称为这类对象向其他对象所提供的服务。<//font>

    2. 作用域标示符

    3. 定义一个类的对象

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已建议为答案 Helen Zhao 2012年2月13日 3:38
    • 已标记为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月10日 9:41
    版主
  • 1、需要自己封装一些数据的话应该考虑使用class

    2、这个符号是作用域操作符,因为setvalues是类的成员,不加这个操作符会提示没有定义

    3、变量声明


    新浪微博http://weibo.com/xianglitian,欢迎围观

    • 已建议为答案 Helen Zhao 2012年2月13日 3:38
    • 已标记为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月11日 0:54
  • 1、什么时候?什么时候都可以,类是一种复杂的数据结构。

    2、::代表这是一个类成员,不放的话就变成CRetangleset_values。

    3、此时CRectangle是一个数据类型,大概和int rect没两样

    • 已建议为答案 Helen Zhao 2012年2月17日 1:21
    2012年2月11日 8:57