在一个程序中,实现如下要求:

(1)构造函数重载

(2)成员函数设置默认参数

(3)有一个友元函数

(4)有一个静态函数

(5)使用不同的构造函数创建不同对象

code:

#include<iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"Defalut constructor called."<<endl;//默认构造函数
count++;
}
A(int i)
{
cout<<"constructor1=====>a:"<<i<<endl; //有一个参数的构造函数
a = i;
count++;
}
friend void show(A &a1); //定义了一个友元函数
static void show_num() //定义了一个静态函数
{
cout<<"number:"<<count<<endl;
}
void set(int i=0) //定义一个具有默认参数的成员函数
{
a = i;
}
int a;
static int count;
};
int A::count = 0; //在类的定义之外初始化静态成员变量
void show(A &a1)
{
cout<<"a:"<<a1.a<<endl;
}
int main()
{
A a1,a2(5);
show(a1);
show(a2);
A::show_num();
}

输出:

Defalut constructor called.
constructor1=====>a:5
a:0
a:5
number:2

C++面向对象类的实例题目一的更多相关文章

  1. C++面向对象类的实例题目四

    题目描述: 以面向对象的概念设计一个类,此类包含3个私有数据:unlead.lead(无铅汽油和有铅汽油)以及total(当天总收入,无铅汽油的价格是17元/升,有铅汽油的加个是16元/升),请以构造 ...

  2. C++面向对象类的实例题目十

    题目描述: 编写一个程序,其中有一个汽车类vehicle,它具有一个需要传递参数的构造函数,类中的数据成员:车轮个数wheels和车重weight放在保护段中:小车类car是它的私有派生类,其中包含载 ...

  3. C++面向对象类的实例题目九

    题目描述: 编写一个学生和老师数据输入和显示程序,学生数据有编号.姓名.班号和成绩,教师数据有编号.姓名.职称和部门. 要求将编号.姓名.输入和显示设计成一个类person,并作为学生数据操作类stu ...

  4. C++面向对象类的实例题目八

    题目描述: 编写一个程序输入3个学生的英语和计算机成绩,并按照总分从高到低排序.要求设计一个学生类Student,其定义如下: 程序代码: #include<iostream> using ...

  5. C++面向对象类的实例题目七

    题目描述: 编写两个有意义的类,使一个类嵌套在另一个类中. 分析: 本题涉及两个类student和cdegree,前者为学生类,包含学生的学号(nubner),姓名(name)和成绩(degree), ...

  6. C++面向对象类的实例题目五

    题目描述: 编写一个程序,采用一个类求n!,并输出5!的值. 程序代码: #include<iostream> using namespace std; class CFactorial ...

  7. C++面向对象类的实例题目十二

    题目描述: 写一个程序计算正方体.球体和圆柱体的表面积和体积 程序代码: #include<iostream> #define PAI 3.1415 using namespace std ...

  8. C++面向对象类的实例题目十一

    题目描述: 写一个程序计算三角形,正方形和圆形3种图形的面积 程序代码: #include<iostream> #include<cmath> #define PAI 3.14 ...

  9. C++面向对象类的实例题目六

    问题描述: 编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数. 程序代码: #include<iostream> ...

  10. C++面向对象类的实例题目三

    编写一个程序,设计一个满足如下要求的CData类. (1)用下面的格式输出日期:日/月/年 (2)输出在当前日期上加一天后的日期 (3)设置日期 code: #include<iostream& ...

随机推荐

  1. GridView的简单使用

    测试代码: activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a ...

  2. JavaUtil_10_joda-time_用法入门

    二.参考资料 1. Joda-Time 2.jodaTime 的使用说明 3.强大易用的日期和时间库 Joda Time

  3. WPF之ContextMenu的命定绑定

    在WPF中右击菜单项的XMAL代码是: <ContextMenu x:Key="sampleContextMenu"> <MenuItem Header=&quo ...

  4. 异步通信rabbitmq——消息重试

    目标: 利用RabbitMQ实现消息重试和失败处理,实现可靠的消费消费.在消息消费异常时,自动延时将消息重试,当重试超过一定次数后,则列为异常消息,等待后续特殊处理. 准备: TTL:Time-To- ...

  5. <Yii 学习>写入日志

    $postStr ='test:'.(empty( $GLOBALS["HTTP_RAW_POST_DATA"])?'':$GLOBALS["HTTP_RAW_POST_ ...

  6. centos7 showdoc 安装部署

    1.进入showdoc官网帮助目录下 https://www.showdoc.cc/web/#/help?page_id=828455960655160 阅读自动安装部署相关事项: 2.利用xshel ...

  7. mysql之 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11

    问题描述:启动MySQL后,出现连接不上,报 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11[root@mysql01 ~]# service ...

  8. 洛谷 3803 【模板】多项式乘法(FFT)

    题目:https://www.luogu.org/problemnew/show/P3803 第一道FFT! https://www.cnblogs.com/zwfymqz/p/8244902.htm ...

  9. Poj 3287 Catch That Cow(BFS)

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...

  10. Azure Managed Disk

    Azure的磁盘存储是保存在存储账户中的Page Blob.由于Azure Storage Account的各种限制,在设计VM的磁盘存储时,要符合Azure磁盘存储账户的最佳实践,请参考:http: ...