C++新手上路第一天
来源:互联网 发布:mac刷新dns缓存 编辑:程序博客网 时间:2024/05/01 18:19
第一天写了一些入门的代码,简单的用了构造函数和复制构造函数
Clock 类
#include "stdafx.h"
#include<iostream>//cout cin 都是这个文件里的还要加入命名空间
using namespace std;
class Clock
{
public://公有成员
Clock(int newH,int newM,int newS);//构造函数的声明
Clock();//如果谢了构造函数就不能使用系统自带的默认无参构造函数,如果想要就必须写出来,函数可以重载好多个
void Clock::ShowClock();//声明显示Clock的成员函数
private://私有成员
int hour, minute, second;
};
//构造函数的实现
Clock::Clock(int newH,int newM,int newS)
{
hour = newH;
minute = newM;
second = newS;
}
//无参构造函数的实现
Clock::Clock()
{//初始化私有成员
hour = 0;
minute = 0;
second = 0;
}
//成员函数的实现
void Clock::ShowClock()
{
cout << hour<< ":" << minute<< ":" << second<< endl;//C++输出格式
}
//主函数,程序唯一入口,调用类中的成员
int main()
{
Clock clock1;//使用无参构造函数创建对象,不用加括号,加括号系统会以为是声明函数,使用对象时会报错
Clock clock2(1,1,1);//使用有参构造函数创建对象
cout << "The Clock1 time is" << endl;
clock1.ShowClock();//对象使用成员函数,但是clock1没有参数所以不能使用有参的函数ShowClock
cout << "The clock2 time is" << endl;
clock2.ShowClock();
return 0;//因为主函数是int型的所以必须有int型的返回值
}
复制构造函数的使用方法
#include "stdafx.h"
#include<iostream>
using namespace std;
class Point
{
public:
Point(int xx = 0,int yy = 0);
Point(Point &p);//复制构造函数的声明
int GetX();
int GetY();
int w;
private:
int x, y;
};
//实现构造函数
Point::Point(int xx ,int yy)
{
x = xx;
y = yy;
}
//实现拷贝构造函数
Point::Point(Point &p)
{
x = p.x;
y = p.y;
cout << "Calling the copy constructor" << endl;
}
//实现其他成员函数
int Point::GetX()
{
return x;
}
int Point::GetY()
{
return y;
}
//形参为Point类对象的函数
void Fun1(Point p)
{
cout << "X:" << p.GetX()+1<< endl;
cout << "Y: " << p.GetY()+1<< endl;
}
//返回值为Point类对象的函数
Point Fun2()
{
Point a(1, 2);
return a;
}
int main()
{
Point a(4, 5);//创建第一个对象
Point b = a;//情况一:用a初始化b。调用复制构造函数
cout << "X:" << b.GetX()<< endl;
cout << "Y: " << b.GetY()<< endl;
Fun1(b);//情况二:对象b作为Fun1的实参。调用复制构造函数
b = Fun2();//情况三:函数的返回值是类的对象,函数返回时,调用复制构造函数
cout << "X:" << b.GetX()<< endl;
cout << "Y: " << b.GetY()<< endl;
return 0;
}
- C++新手上路第一天
- 新手上路第一天————菜鸟的心得之单链表
- 新手上路第一天————菜鸟的心得之双向循环链表
- 新手上路--C语言学习
- 新手第一天
- 新手的第一天
- 新手报到第一天
- 新手第一天
- 新手上路第一天————菜鸟的心得之单链表(循环链表)
- 第2章 Ajax新手上路
- 新手上路(clips与c#)
- 新手上路之c指针理解 笔记
- C++ 新手新手上路第五天,数组的使用
- 新手上路
- 新手上路
- 新手上路
- 新手上路
- 新手上路
- STM32串口调试
- 12
- HttpClient 与 HttpURLConnection
- Web前端大冒险 第二章 JSP函数大冒险(三)闭包
- Hive与RDMS的异同
- C++新手上路第一天
- JavaScript对象概述之常用内置对象
- 如何找出占用cpu最高的进程
- Web测试介绍一 UI测试
- XML 新手入门基础知识
- 2016-12-15 菜鸟上路(3)
- 简单仿支付宝/微信密码输入效果
- AutoScrollViewPager与PullToRefreshScrollView冲突解决
- 安鑫 十年资产翻十倍 普通人是怎么做到的