c++匿名类—指针

1 摘自网上

2代码实例

#include <iostream>
#include <list>
#include <iterator>
#include <cmath>

using namespace std;

class Term
{
    public:
        Term(int c,int e):coef(c),exp(e){

        }
        float TermValue();
        int GetCoef()
        {
            return coef;
        }
        int GetExp()
        {
            return exp;
        }
        static void SetX(float x_t)
        {
            x=x_t;
        }
        int GetX()
        {
            return x;
        }
    private:
        int coef;
        int exp;
        static float x;
};

float Term::x=1.0;

float Term::TermValue()
{
    return coef*pow(x,exp);
}

int main()
{
    list<Term> poly;
    list<Term>::iterator begin,end;
    int i;
    float  result=0;
//此处使用了c++中匿名内部类,是一个指针类型的内部类
    for(i=1;i<5;i++) poly.push_back(Term(i,i));
    begin=poly.begin();
    end=poly.end();
    begin->SetX(2);
    do
    {
        result+=begin->TermValue();
        begin++;
    }while(begin!=end);
    cout<<result<<endl;
}

输出结果:98 正确

c++中的匿名内部类是一个指针类型,java中的匿名内部类是一个引用类型。 这要分清楚。

时间: 2024-10-12 16:23:25

c++匿名类—指针的相关文章

java匿名类和匿名对象及this的其他用法

/* 匿名内部类:就是内部类的简写格式. 必须前提:内部类必须继承或者实现一个类或者接口. 匿名内部类其实就是一个匿名 子类对象. 格式:new 父类对象 or 接口(){ 子类内容:(覆盖父类的, 而且可以增加自己的方法) }//相当于将 继承父类 和 new 的过程 写到了一起有某有!很方便有某有! */ class Outer{ int num; public Outer(){ num = 5; } class Inner{ int num; public Inner(){ num = 1

Java通过匿名类来实现回调函数

在C语言中,函数名可以当做函数指针传递给形参从而实现回调 void f1() { printf("f1()\n"); } void f2() { printf("f2()\n"); } void f3() { printf("f3()\n"); } void do_func(void(*f)()) { f(); } int main() { do_func(f1); do_func(f2); do_func(f3); } 在C++11中,实现回调

C#4.0语法糖之第五篇: 匿名类 &amp; 匿名方法

今天时间有点早,所以上来在写一篇文章吧,继续上一篇的文章,在我们平时编程过程中有没有遇到过这样的一个情景,你定义的类只是用来封装一些相关的数据,但并不需要相关联的方法.事件和其他自定义的功能.同时,这个类仅仅在当前的应用程序中使用,而不需要在项目间重用.你所需要的只是一个“临时的”类型,现在我们来看看这个传统类的定义: 1 internal class oneClass 2  3 { 4  5      //定义若干私有数据成员 6  7      //通过属性来封装每个数据成员 8  9   

当this指针成为指向之类的基类指针时,也能形成多态

this指针: 1)对象中没有函数,只有成员变量 2)对象调用函数,通过this指针告诉函数是哪个对象自己谁. 1 #include<iostream> 2 using namespace std; 3 class Shape 4 { 5 public: 6 //void cal_display(Shape* this) 7 void cal_display(){ 8 display(); 9 this->display(); 10 } 11 private: 12 virtual vo

内部类与匿名类(转)

Java 中的内部类和匿名类* 为什么需要内部类? Java 内部类有什么好处?为什么需要内部类? 首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口.由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能. 不过你可能要质疑,更改一下方法的不就行了吗? 的确,以此作为设计内部类的理由,实在没有说服力.真正的原因是这样的,java 中的内部类和接口

MVC匿名类传值学习

刚接触MVC+EF框架不久,但一直很困惑的就是控制器能否及如何向视图传递匿名类数据.宝宝表示很讨厌去新建实体类啦,查询稍有不同就去建一个实体类不是很麻烦吗,故趁阳光正好,周末睡到自然醒后起来尝试了之前一直在博客园看到的实现方式:英明神武的Tuple类,第一次对微软钦佩之至.故做如下记录,方便自己之后使用.大神就勿喷我啦,宝宝第一次写博客. 首先先描述一下我要实现的功能:从控制器后台查询一些数据,通过匿名类存储,在视图前端遍历输出.初衷实现流程如下: 控制器部分: 1 2 3 4 5 6 7 8

Java中的内部类、匿名类的使用

代码(test.java): 1 interface ie{ 2 public void print(); 3 } 4 5 class outer{} 6 7 public class test{ 8 public class inner{} 9 public void test(ie e){ 10 e.print(); 11 } 12 public static void main(String[] args){ 13 14 15 new test().test(new ie(){ 16 pu

解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系

1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏了.为了发现程序中的内存泄漏,我切换了IDE工具到Eclipse,里面安装了内存泄漏的分析工具MAT,具体怎么用MAT分析内存泄漏可以自己Google,我把我自己找到内存泄漏的地方贴出来 从上图中可以看到,有24M左右的内存被mView(其实它真正是一个Fragment)这个变量持有,导致Java垃

c++之虚函数和基类指针

1. 基类指针虽然获取派生类对象地址,却只能访问派生类从基类继承的成员 1 #include <iostream> 2 using namespace std; 3 4 //通过基类指针只能访问从基类继承的成员 5 class A 6 { 7 public: 8 A(char x) 9 { 10 this->x = x; 11 } 12 //void virtual who() //基类定义虚函数,则派生类的重定义版本默认为虚函数 13 void who() //除非定义虚函数,否则基类