C++语言基础 例程 对象成员的引用

贺老师的教学链接  本课讲解

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

#include <iostream>
using namespace std;
class Time
{
public:
    void set_time( );
    void show_time( );
private:
    int hour;
    int minute;
    int sec;
};
int main( )
{
    Time t1;
    t1.set_time( );
    t1.show_time( );
    Time t2;
    t2.set_time( );
    t2.show_time( );
    return 0;
}

void Time::set_time( )
{
    cin>>hour;
    cin>>minute;
    cin>>sec;
}

void Time::show_time( )
{
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}

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

#include <iostream>
using namespace std;
class Time
{
public:
    void set_time( );
    void show_time( );
private:
    int hour;
    int minute;
    int sec;
};
int main( )
{
    Time t1, *p;
    p=&t1;
    t1.set_time( );
    (*p).show_time( );
    p->show_time( );
    return 0;
}

void Time::set_time( )
{
    cin>>hour;
    cin>>minute;
    cin>>sec;
}

void Time::show_time( )
{
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}

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

#include <iostream>
using namespace std;
class Time
{
public:
    void set_time( );
    void show_time( );
private:
    int hour;
    int minute;
    int sec;
};
int main( )
{
    Time t1;
    Time &t2=t1;
    t1.set_time( );
    t2.show_time( );
    return 0;
}

void Time::set_time( )
{
    cin>>hour;
    cin>>minute;
    cin>>sec;
}

void Time::show_time( )
{
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}

访问私有数据成员的常用方法
(1)通过公共函数访问私有成员

#include <iostream>
using namespace std;
class Test
{
private:
    int x, y;
public:
    void setX(int a)
    {
        x=a;
    }
    void setY(int b)
    {
        y=b;
    }
    void printXY(void)
    {
        cout<<"x="<<x<<'\t'<<"y="<<y<<endl;
    }
} ;
int main()
{
    Test p1;
    p1.setX(3);
    p1.setY(5);
    p1.printXY( );
    return 0;
}

(2)(惯例)利用set和get函数访问私有数据成员

#include <iostream>
using namespace std;
class Test
{
private:
    int x,y;
 public:
    void setX(int a) {x=a;}
    void setY(int b) {y=b;}
    int getX(void) {return x;} //返回x值
    int getY(void) {return y;} //返回y值
};
int main()
{
    Test p1,p2;
    p1.setX(3);p1.setY(5);
    int a,b;
    a=p1.getX( ); b=p1.getY();
    cout<<a<<'\t'<<b<<endl;
}

利用指针将私有数据成员的值提取到类外

#include <iostream>
using namespace std;
class Test
{
private:
    int x,y;
public:
    void setX(int a)
    {
        x=a;
    }
    void setY(int b)
    {
        y=b;
    }
    void getXY(int *px, int *py)
    {
        *px=x;    //提取x,y值
        *py=y;
    }
};
int main()
{
    Test p1;
    p1.setX(3);
    p1.setY(5);
    int a,b;
    p1.getXY(&a,&b);  //将 a=x, b=y
    cout<<a<<'\t'<<b<<endl;
    return 0;
}

利用引用将私有数据成员的值提取到类外

#include <iostream>
using namespace std;
class Test
{
private:
    int x,y;
public:
    void setX(int a)
    {
        x=a;
    }
    void setY(int b)
    {
        y=b;
    }
    void getXY(int &px, int &py) //引用
    {
        px=x;    //提取x,y值
        py=y;
    }
};
int main()
{
    Test p1;
    p1.setX(3);
    p1.setY(5);
    int a,b;
    p1.getXY(a, b); //将 a=x, b=y
    cout<<a<<'\t'<<b<<endl;
    return 0;
}
时间: 2024-10-25 05:04:56

C++语言基础 例程 对象成员的引用的相关文章

C++语言基础 例程 对象指针

贺老师的教学链接  本课讲解 示例:使用指向对象数据成员的指针 #include <iostream> using namespace std; class Time { public: Time(int,int,int); void get_time( ); private: int hour,minute,sec; }; Time::Time(int h,int m,int s):hour(h),minute(m),sec(s) {} void Time::get_time( ) { co

C++语言基础 例程 函数中的引用

贺老师的教学链接  本课讲解 引用作为形参 #include<iostream> using namespace std; class Sample { int x; public: Sample(int a): x(a) {cout<<"A";} Sample(Sample &a): x(a.x) {cout<<"B";} int getX(){return x;} }; void disp(Sample &s)

C++语言基础 例程 对象数组

贺老师的教学链接  本课讲解 对象数组应用实例 #include <iostream> using namespace std; class Box { public: Box(int h=10,int w=12,int len=15): height(h),width(w),length(len) { } int volume( ); private: int height; int width; int length; }; int Box::volume( ) { return(heig

C++语言基础 例程 对象的动态建立和释放

贺老师的教学链接  本课讲解 对象的动态建立和释放 #include<iostream> using namespace std; class Box { public: Box(int w,int l,int h); ~Box(); int width; int length; int height; }; Box::Box(int w,int l,int h) { width=w; length=l; height=h; cout<<"========调用构造函数==

详解C++编程中类的声明和对象成员的引用_C 语言

C++类的声明和对象的创建 类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量:创建对象的过程也叫类的实例化.每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数. 与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间.而对象是类这种数据类型的一个变量,占用内存空间. 类的声明 类是用户自定义的类型,如果程序中要用到类,必须先进行声明,或者使用已存在的类(别人写好的类.标准库中的类等),C++语法本身并不提供现成的类的名称.结构和内容. 一个简

C++语言基础 例程 类和对象的简单应用举例

贺老师的教学链接  本课讲解 实例1:求出三角形的周长和面积 #include<iostream> #include<Cmath> #include<cstdlib> using namespace std; class Triangle { public: void setABC(double x, double y, double z);//置三边的值,注意要能成三角形 double perimeter();//计算三角形的周长 double area();//计算

C++语言基础 例程 类的声明和对象的定义

贺老师的教学链接  本课讲解 类的声明和对象的定义-形式1 #include <iostream> #include <cstring> using namespace std; class Student { private: int num; char name[20]; char sex; public: void set_data(int n, char *p,char s) { num=n; strcpy(name,p); sex=s; } void display( )

C++语言基础 例程 类声明和成员函数定义的分离

贺老师的教学链接  本课讲解 1.一个程序,一个源文件的做法 #include<iostream> #include<cstring> using namespace std; class Student { private: char Name[20]; //学生姓名 double Chinese; //语文成绩 double Math; //数学成绩 public: double Average( );//计算平均成绩 double Sum( ); //计算总分 void Sh

C++语言基础 例程 初见对象

贺老师的教学链接  本课讲解 问题:求圆柱体积 //面向过程 #include <iostream> using namespace std; int main() { double r, h, v; cin>>r>>h; v = 3.14 * r * r * h; cout<<v<<endl; return 0; } //基于对象 #include <iostream> using namespace std; class Cup{