• 有人把类说成是占用固定大小内存块的别名,其定义时不占用空间
#include<iostream>
#include<string>
using namespace std;
class mycoach
{
public:
string name="陈培昌";
int age=;
private:
string favorite = "和丁大锅在一起";
public:
void introduce()
{
cout << "大家好,我是" + name << "爱好是:" + favorite << endl;
}
}; void main()
{
mycoach cpc;
cout << "大家好,我是"+cpc.name<<endl;
cpc.introduce();
getchar(); }

输出结果:

  • 常见错误----为什么成员函数很重要
#include<iostream>
#include<math.h>
using namespace std;
class mycircle
{
public:
double radius;
double mypie = 3.1415926;
double s = radius*radius*mypie;
}; int main()
{
mycircle circle;
cout << "请输入半径:";
cin >> circle.radius;
cout << "OK半径是: " << circle.radius << " 那么圆的面积是:"<<endl;
cout << circle.s << endl;
system("pause");
return ;
}

输出结果:

what hell that do......究其原因,乃是,类定义时就为mycircle的成员属性s就分配了一块空间,其值是乱码

即使在main函数中为radius赋值,然而这对s并无任何影响,所以其值为乱码,所以计算面积s不得不使用一成员函数

#include<iostream>
#include<math.h>
using namespace std;
class mycircle
{
public:
double radius;
double mypie = 3.1415926;
//double s = radius*radius*mypie;
public:
double gets()
{
return radius*radius*mypie;
}
}; int main()
{
mycircle circle;
cout << "请输入半径:";
cin >> circle.radius;
cout << "OK半径是: " << circle.radius << " 那么圆的面积是:"<<endl;
cout << circle.gets()<< endl;
system("pause");
return ;
}

输出结果:

namespace的用途:比起C来说,C++的函数库十分丰富,有可能遇到库函数名撞库的现象,所以需要namespace来区分

我们常见的namesapce 是标准命名空间即 using namespace std,如果未声明代码要使用的命名空间,那么可以通过这种方法引入

int main()
{
mycircle circle;
std::cout << "请输入半径:";
std::cin >> circle.radius;
std::cout << "OK半径是: " << circle.radius << " 那么圆的面积是:"<<std::endl;
std::cout << circle.gets()<< std::endl;
system("pause");
return ;
}
  • 命名空间
#include "iostream"
#include<string>
using namespace std;
namespace cjbefore1014
{
string comment = "懂事,可爱的搏击弟弟一口一个哥";
}
namespace cjafter1014
{
string comment = "冷酷,无情,自私,过河拆桥,傲慢,不可理喻,白眼狼";
} void main()
{
using namespace cjbefore1014;
cout << "once upon the time:有这样一个搏击弟弟" << endl;
cout << "在2019年10月14日以前" << "他是一个" << endl;
cout <<comment << endl;
using namespace cjafter1014;
cout << "在2019年10月14日以后" << "他是一个" << endl;
cout << cjafter1014::comment << endl;
system("pause");
}

输出结果:

c++类的基本形式(一个简单类的简单sample,命名空间)的更多相关文章

  1. 基类的两个派生类再派生一个派生类 用virtual避免二义性

    class vehicle{ int MaxSpeed; int Weight;public: vehicle(int maxspeed, int weight) :MaxSpeed(maxspeed ...

  2. 使用代码向一个普通的类注入Spring的实例

    转载请在页首注明作者与原文地址 一:应用场景 什么是普通的类,就是没有@Controller,@Service,@Repository,@Component等注解修饰的类,同时xml文件中,也没有相应 ...

  3. 类转json的基类实现

    类转json的基类实现 项目地址 github地址 实现原理 使用反射获取类的属性名和属性内容.具体原理可以自己查一下资料 对一个类调用getClass().getDeclaredFields()可以 ...

  4. 反射01 Class类的使用、动态加载类、类类型说明、获取类的信息

    0 Java反射机制 反射(Reflection)是 Java 的高级特性之一,是框架实现的基础. 0.1 定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对 ...

  5. C++_派生类的构造函数及派生类和基类之间的特殊关系

    派生类和基类的概念及派生类构造函数的原理: 创建一个叫做TableTennisPlayer的基类,记录会员的名字和是否有球桌. //声明一个基类 class TableTennisPlayer { p ...

  6. Away3d 基础 1 ---对一个简单类的解释

    转自:http://www.cnblogs.com/nooon/archive/2009/05/16/1458334.html 原英文地址: http://www.flashmagazine.com/ ...

  7. 经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能

    说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后, ...

  8. C++_类继承1-从一个简单的类开始

    面向对象编程的主要目的之一是:提供可重用的代码.尤其是项目很庞大的时候,重用测试过的代码比重新编码代码要好得多. C++提供了更高层次的重用性.其中之一就是继承这个概念. 一些厂商提供了类库.类库由类 ...

  9. Python 元类编程实现一个简单的 ORM

    概述 什么是ORM? ORM全称"Object Relational Mapping",即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表,这样,写代码 ...

  10. Swift - 简单封装一个工具类模板

    创建模板类(封装一个类) 例1:新建一个名字叫做 Product 的类 Product.swift File 的内容 class Product { var name: String var desc ...

随机推荐

  1. K8S从入门到放弃系列-(9)kubernetes集群之kubelet部署

    摘要: Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: 1.监视分配给该Node节点的pods 2.挂载pod所需要的volume ...

  2. [MA] 有关 Likelihood

    当提到 Linear Regression 或是 Logistic regression 等关键词时,都会涉及一个概念,叫做 Likelihood Function 以及 Maximum Likeli ...

  3. PHP常量:define()和const的区别

    常量,就是一个用于存储“不会(也不允许)变化的数据”的标识符.比如圆周率,在一定的应用场景中,就是一个固定的值(人为规定为某个值).常量默认大小写敏感.通常常量标识符总是大写的. (1)define( ...

  4. 排查java 内存CPU报警

    #!/bin/bash source /etc/profile #接收外部传入PID,任选一种 #servicePid=$1 headPid=`ps auxw|sort -rn -k3|head -4 ...

  5. I2C的协议层和物理层

    I2C 协议简介 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART.CAN 等通讯协议的 ...

  6. ThreadLocal内存泄漏真因探究(转)

    出处: 链接:https://www.jianshu.com/p/a1cd61fa22da ThreadLocal原理回顾 ThreadLocal的原理:每个Thread内部维护着一个ThreadLo ...

  7. MySQL5.7主从同步配置

    主从同步,将主服务器(master)上的数据复制到从服务器(slave). 应用场景 读写分离,提高查询访问性能,有效减少主数据库访问压力. 实时灾备,主数据库出现故障时,可快速切换到从数据库. 数据 ...

  8. (六)发送、接收SOAP消息(1)

    一.为什么要用soap 原本我们使用web服务都是根据wsdl生成客户端(生成一堆java文件)然后再调用,本章节讲解如何用soap消息来替代这种方式. 二.SOAP消息格式 SOAP(简单对象访问协 ...

  9. js中 this 的指向

    js中 this的指向一共存在3种地方: 1.全局的this; 2.构造函数的this; 3.call/apply; 一.全局的this: function test(){ this.d = 3;// ...

  10. 媲美pandas的数据分析工具包Datatable

    1 前言 data.table 是 R 中一个非常通用和高性能的包,使用简单.方便而且速度快,在 R 语言社区非常受欢迎,每个月的下载量超过 40 万,有近 650 个 CRAN 和 Biocondu ...