class Time
{
public :
int hour;
int minute;
int sec;
void get_time( );
};
void Time::get_time( )
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
Time *pt; //定义pt为指向Time类对象的指针变量 Time t1; //定义t1为Time类对象 pt=&t1; //将t1的起始地址赋给pt
类名 *对象指针名;
*pt //pt所指向的对象,即t1 (*pt).hour //pt所指向的对象中的hour成员,即t1.hour pt->hour //pt所指向的对象中的hour成员,即t1.hour (*pt).get_time ( ) //调用pt所指向的对象中的get_time函数,即t1.get_time pt->get_time ( ) //调用pt所指向的对象中的get_time函数,即t1.get_time
int *p1; //定义指向整型数据的指针变量
数据类型名 *指针变量名;
p1=&t1.hour; //将对象t1的数据成员hour的地址赋给p1,p1指向t1.hour cout<<*p1<<endl; //输出t1.hour的值
p = t1.get_time;
void (Time::*p2)( ); //定义p2为指向Time类中公用成员函数的指针变量
void Time::*(p2()) //这是返回值为void型指针的函数
数据类型名 (类名::*指针变量名)(参数表列);
p2=&Time::get_time;
指针变量名=&类名::成员函数名;
#include <iostream>
using namespace std;
class Time
{
public:
Time(int,int,int);
int hour;
int minute;
int sec;
void get_time( );
};
Time::Time(int h,int m,int s)
{
hour=h;
minute=m;
sec=s;
}
void Time::get_time( ) //声明公有成员函数
//定义公有成员函数
{
cout<<hour<<":"<<minute<<":" <<sec<<endl;
}
int main( )
{
Time t1(10,13,56); //定义Time类对象t1
int *p1=&t1.hour; //定义指向整型数据的指针变量p1,并使p1指向t1.hour
cout<<* p1<<endl; //输出p1所指的数据成员t1.hour
t1.get_time( ); //调用对象t1的成员函数get_time
Time *p2=&t1; //定义指向Time类对象的指针变量p2,并使p2指向t1
p2->get_time( ); //调用p2所指向对象(即t1)的get_time函数
void (Time::*p3)( ); //定义指向Time类公用成员函数的指针变量p3
p3=&Time::get_time; //使p3指向Time类公用成员函数get_time
(t1.*p3)( ); //调用对象t1中p3所指的成员函数(即t1.get_time( ))
return 0;
}
10 (main函数第4行的输出) 10:13:56 (main函数第5行的输出) 10:13:56 (main函数第7行的输出) 10:13:56 (main函数第10行的输出)
&类名::成员函数名
p3 =&t1.get_time; //t1为对象名
void (Time::*p3)( )=&Time::get_time; //定义指针变量时指定其指向
Student stud[50]; //假设已声明了Student类,定义stud数组,有50个元素
Student stud[3]={60,70,78}; //合法,3个实参分别传递给3个数组元素的构造函数
Student:: Student(int=1001,int=18,int=60); //定义构造函数,有多个参数,且为默认参数
Student stud[3]={1005,60,70};
Student stud[3]={60,70,78,45}; //不合法,实参个数超过对象数组元素个数
Student Stud[3]={ //定义对象数组
Student(1001,18,87), //调用第1个元素的构造函数,为它提供3个实参
Student(1002,19,76), //调用第2个元素的构造函数,为它提供3个实参
Student(1003,18,72) //调用第3个元素的构造函数,为它提供3个实参
};
#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 (height*width*length);
}
int main( )
{
Box a[3]={ //定义对象数组
Box(10,12,15), //调用构造函数Box,提供第1个元素的实参
Box(15,18,20), //调用构造函数Box,提供第2个元素的实参
Box(16,20,26) //调用构造函数Box,提供第3个元素的实参
};
cout<<"volume of a[0] is "<<a[0].volume( )<<endl;
cout<<"volume of a[1] is "<<a[1].volume( )<<endl;
cout<<"volume of a[2] is "<<a[2].volume( )<<endl;
return 0;
}
volume of a[0] is 1800 volume of a[1] is 5400 volume of a[2] is 8320
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有