C++ 对象与指针
2016-01-26 00:00
344 查看
对象与指针
Class A
{ public:
void fun()
{ …… }
int y;
privated:
int x;
};
1, 对象引用成员
A a;
a.fun();
a.y=0;
a.x=0;
2,对象指针引用成员
A b;
A * p=&b;
p à fun();
p à y=0;
3, this 指针
指向当前操作对象的指针多跟无名对象打交到
4,一般成员变量指针
A d
int A::*p=&A::y ;
d.*p=0;
本课题目:完善以下应用程序。
构建一个“点”类,“点”类的私有属性是纵横坐标,在“点”类里要实现以下功能:无参构造,有参构造,拷贝构造,赋值拷贝构造,一般拷贝,取纵坐标,取横坐标,并在“点类”的基础上实现一个求两点间距离的函数,要求该子函数的参数为“点”指针类型。
补充知识点:
1,求一个数的平方用函数 pow()
如 int a=3;
int b=pow(a,2);
2, 求一个正数的平方根用 sqrt()
int a =4;
int b=sqrt(a);
#include<iostream >
#include< math.h>
using namespace std ;
class point
{
public :
point ()
{
x =0;
y =0;
}
point ( int a , int b ) { …… }
point ( const point & s )
{
……
cout << "copy with 拷贝构造函数 " << endl ;
}
point & operator =( point & s )
{
……
cout << "copy with 赋值拷贝构造函数 " << endl ;
}
void copy ( point & s )
{
实现对象拷贝功能(此处要调用赋值拷贝构造函数)
}
int getx (){ 取 x}
int gety (){ 取 y}
~ point ()
{
cout << "point(" << x << "," << y << ")" << "is deleted!" << endl ;
}
private :
int x ;
int y ;
};
void length ( point
3ff8
* p , point * q ) { …… }
void main ()
{
point a (2,2);
point b (1,1);
length ( …… );
point c ;
c . copy ( a );
point d ( b );
length ( …… );
}
Class A
{ public:
void fun()
{ …… }
int y;
privated:
int x;
};
1, 对象引用成员
A a;
a.fun();
a.y=0;
a.x=0;
2,对象指针引用成员
A b;
A * p=&b;
p à fun();
p à y=0;
3, this 指针
指向当前操作对象的指针多跟无名对象打交到
4,一般成员变量指针
A d
int A::*p=&A::y ;
d.*p=0;
本课题目:完善以下应用程序。
构建一个“点”类,“点”类的私有属性是纵横坐标,在“点”类里要实现以下功能:无参构造,有参构造,拷贝构造,赋值拷贝构造,一般拷贝,取纵坐标,取横坐标,并在“点类”的基础上实现一个求两点间距离的函数,要求该子函数的参数为“点”指针类型。
补充知识点:
1,求一个数的平方用函数 pow()
如 int a=3;
int b=pow(a,2);
2, 求一个正数的平方根用 sqrt()
int a =4;
int b=sqrt(a);
#include<iostream >
#include< math.h>
using namespace std ;
class point
{
public :
point ()
{
x =0;
y =0;
}
point ( int a , int b ) { …… }
point ( const point & s )
{
……
cout << "copy with 拷贝构造函数 " << endl ;
}
point & operator =( point & s )
{
……
cout << "copy with 赋值拷贝构造函数 " << endl ;
}
void copy ( point & s )
{
实现对象拷贝功能(此处要调用赋值拷贝构造函数)
}
int getx (){ 取 x}
int gety (){ 取 y}
~ point ()
{
cout << "point(" << x << "," << y << ")" << "is deleted!" << endl ;
}
private :
int x ;
int y ;
};
void length ( point
3ff8
* p , point * q ) { …… }
void main ()
{
point a (2,2);
point b (1,1);
length ( …… );
point c ;
c . copy ( a );
point d ( b );
length ( …… );
}
相关文章推荐
- C++函数重载
- C++编程实例-函数
- C++编程实例-多重循环结构
- C++ 面向过程与面向对象的区别
- C++中const与static在面向过程代码中的异同
- C++标准编程:虚函数与内联
- C++ 实例导航
- C++动态创建二维数组
- 2012年第三届蓝桥杯C/C++程序设计本科B组省赛 夺冠概率(编程大题)
- C++:七种qsort排序方法
- C++编程实例-多态(一)
- C++构造函数的幕后工作
- C++直接操纵虚函数表方法
- C/C++ qsort()快速排序的用法
- C++动态建立矩阵及矩阵相乘
- C++编程实例-运算符重载
- C++ using namespace std
- 加入代码以检查C++中的内存泄漏
- C++ 常用排序法
- C++ 异常处理 catch(...)