初学类
来源:互联网 发布:微信淘宝刷 g是真的吗 编辑:程序博客网 时间:2024/05/19 00:52
这里有几个案例来快速了解 类
//案例一 设计立方体类(cuba) 求出立方体的体积和面积// 判断两个立方体是否相等(全局函数)#include <iostream>using namespace std;class cuba{private : // 私有成员 int m_a; int m_b; int m_c; int m_s; int m_v;public : double get_a() { return m_a; } double get_b() { return m_b; } double get_c() { return m_c; } void set_a(int a) // 给变量赋值 { m_a = a; } void set_b(int b) { m_b = b; } void set_c(int c) { m_c = c; } void set_abc(int a, int b, int c) { m_a = a; m_b = b; m_c = c; }public: int get_s() { m_s = 2*((m_a * m_b) + (m_a * m_c) +(m_b * m_c )); return m_s; } int get_v() { m_v = m_a * m_b * m_c; return m_v; } int judecuba(cuba &c1, cuba & c2) // c1太多了 { if ( (c1.m_a == c2.m_b) && (c1.m_b == c2.m_b) && (c1.m_c == c2.m_c) ) return 1; else return 0; } //函数调用 去执行c1对象的成员judecuba // 因为此函数是类内函数 所以可以用c2.m_a对比全局函数 int judecuba(cuba &c2) // 成员函数,函数重载 { // 好多人分不清m_a是属于c1,还是c2 // 谁调用就是谁的 if( (m_a == c2.m_b) && (m_b == c2.m_b) && (m_c == c2.m_c) ) return 1; else return 0; return 0; }};// 全局函数pk成员函数// 全局函数// 只是定义了面向对象的方法 但是没有用int judecuba3(cuba &c1, cuba &c2) // 不能直接访问私有成员 通过定义get函数来间接访问{ // 特别注意因为此函数是类外函数所以不能用c1.m_a 通过定义get函数来间接访问 if( (c1.get_a() == c2.get_a()) && (c1.get_b() == c2.get_b()) && (c1.get_c() == c2.get_c()) ) return 1; else return 0;}// 全局函数调用方法int main(){ cuba c1, c2; c1.set_abc(1, 2, 3); c2.set_abc(1, 2, 4); if ( judecuba3(c1, c2) ) { cout << "c1 == c2" << endl; } else cout << "c1 != c2" << endl; return 0;}// 成员函数调用方法int main2(){ cuba c1, c2; c1.set_abc(1, 2, 3); c2.set_abc(1, 2, 4); // 判断立方体是否相等 通过调用类的成员函数 int judge = c1.judecuba(c2); // 这种比较好 if (judge) { cout << "c1 == c2" << endl; } else cout << "c1 != c2" << endl; //冗余 c1 if ( c1.judecuba(c1, c2) ) // c1 太多了 { cout << "c1 == c2" << endl; } else cout << "c1 != c2" << endl; if ( judecuba3(c1, c2) ) { cout << "c1 == c2" << endl; } else cout << "c1 != c2" << endl; return 0;}// 求面积int main1() // 求立方体的体积和面积{ cuba c1, c2; c1.set_abc(1, 2, 3); cout << "s = " <<c1.get_s()<< endl; cout << "v = " << c1.get_v()<< endl; return 0;}
点与圆的关系
#include <iostream>using namespace std;class point{private: int x1; int y1;public: void setpoint(int x, int y) { x1 = x; y1 = y; } int get_x() // 接口函数 用来访问私有成员 { return x1; } int get_y() { return y1; }};class Circle{private: int x0; int y0; int r;public: void setcircle(int x, int y, int r1) { x0 = x; y0 = y; r = r1; }public: int jude(point &p1) { // 点的成员是私有的不能让jude函数(类外部函数)访问,所以用一个接口函数来访问 // 此函数使用c1调用的 而且jude还是圆类的内部函数,可以直接访问但是不能加c1.x0 int d = (p1.get_x() - x0) * (p1.get_x() - x0) + (p1.get_y() - y0) * (p1.get_y() - y0); cout << "d^2 = " << d*d << endl; cout << "r = " << r << endl; if (d <= r*r) { return 1; // 在圆内 } else return 0; // 在圆外 }};int main(){ Circle c1; point p1; c1.setcircle(1,1,2); p1.setpoint(2,2); int tag = c1.jude(p1); if (tag == 1) { cout << "点在圆内" << endl; } else cout <<"点在圆外" << endl; return 0;}
因为初学C++ 有些的不对的请指教 构造函数就不写了(目前学得不好怕误导大家)
阅读全文
0 0
- 初学类
- 类初学
- 初学日记-System类
- JavaBean类初学
- PHP类(初学)
- 初学类的继承
- 初学Java枚举类
- 初学File类
- 初学C++类
- 抽象类 /java初学
- JAVA初学--集合类
- 初学python类
- 初学类加载器
- 初学c++类(class)
- 初学...
- 初学
- 初学
- 初学
- JAVA实现非对称加密
- 修改了JS页面,Appscan重新测试时仍能够扫描出问题
- Android项目记录
- Java实现数字签名
- Java
- 初学类
- 啤酒和饮料
- LoadRunner录制时无法调用IE浏览器
- h5微信游戏|大番薯h5斗地主牛牛十三水安装下载教程
- java写的将文件或文件夹打包成zip的工具类
- mysql外键约束
- Dijkstra算法-最短路径问题
- Android 禁止截屏功能
- Java的MyBatis框架中Mapper映射配置的使用及原理解析