类的简单说明

Posted 荒唐了年少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的简单说明相关的知识,希望对你有一定的参考价值。

/***********************************************************************
类和对象初步
面向对象的程序设计的基本特点:抽象,封装,继承,多态

类的定义:
class 类名{
    访问范围说明符:
     成员变量;
  ......
  成员函数;
  ......
};
访问范围一共有三种:public,private,protected

成员变量、成员函数的写法与普通的变量、函数相同。

一个类的成员函数之间可以相互调用。类的成员函数可以重载 ,也可以设定函
数的默认值。

成员函数的定义可以在类外:
返回值类型 类名::函数名{
    函数体;

所谓成员函数作用于某个对象上,指的是进入该成员函数时,函数中访问到的成
员变量是属于该对象的。

访问对象成员:
    对象名.成员名

#include <iostream>

using namespace std;

// 矩形类 
class CRectangle{
    public:
        int w, h;
        void init(int w_, int h_);   // 设置宽度和高度 
        int area();                  // 求面积 
        int perimeter();             // 求周长 
}; 

void CRectangle::init(int w_, int h_){
    w = w_;
    h = h_; 
}

int CRectangle::area(){
    return w*h;
}

int CRectangle::perimeter(){
    return 2*(w + h);
}

int main()
{
    int w, h;
    CRectangle r;
    cin >> w >> h;
    r.init(w, h);
    cout << "It‘s area is " << r.area() << endl;
    cout << "It‘s perimeter is " << r.perimeter() << endl;
    cout << sizeof(CRectangle) << endl;
    
    return 0;
}

类成员的访问范围:
    访问范围一共有三种:public,private,protected
    public: 指定公有成员,一个类的公有成员在任何地方都可以被访问
    private:用来指定私有成员,不论是成员变量还是成员函数,都只能在
 该类的成员函数内部才能被访问
     设置私有成员的机制叫做隐藏,隐藏的目的是强制对变量成员的访问
  要通过成员函数进行。这样做的好处是如果以后修改了成员变量的类
  型等属性,只需修改成员函数即可。否则需要修改所有访问成员变量
  的语句。
  隐藏机制可以避免对对象的不正确操作。
 protected:用来指定保护成员
 
 如果某个成员前面没有访问范围说明符,则对于class默认为私有成员
 

#include <iostream>
#include <cstring>

using namespace std;

class CEmployee{
    private:
        char szName[30];
    public:
        int salary;
        void setName(char *name);
        void getName(char *name);
        void averageSalary(CEmployee e1, CEmployee e2);
};

void CEmployee::setName(char *name){
    strcpy(szName, name);
}

void CEmployee::getName(char *name){
    strcpy(name, szName);
}

void CEmployee::averageSalary(CEmployee e1, CEmployee e2){
    salary = (e1.salary + e2.salary) / 2;
}

int main()
{
    CEmployee e;
    // strcpy(e.szName, "Tom");  error,不能访问私有成员 
    e.setName("Tom");
    e.salary = 50000;
    
    return 0;
}

 


 对象指针->成员名
 
和结构变量一样,对象之间可以使用"="相互赋值,但不能进行比较运算
***********************************************************************/

以上是关于类的简单说明的主要内容,如果未能解决你的问题,请参考以下文章

类的简单说明

jQuery的DOM操作

为啥这段代码会泄露? (简单的代码片段)

java 代码片段

MVVM Light:在 XAML 中添加 EventToCommand 而不使用 Blend、更简单的方法或片段?

这些角度电子邮件指令代码片段如何连接