Personal tools
You are here: Home Projects C++ Cfront releases Release 3.0.3 source demo lang static.C
Document Actions

static.C

by Michael L Powell last modified 2007-01-26 03:20

Click here to get the file

Size 1.2 kB - File type text/plain

File contents

/*ident	"@(#)cls4:demo/lang/static.C	1.1" */
/*#########################################################################
#                       Copyright (c) 1989 AT&T
#                         All Rights Reserved   
#
#                THIS IS PROPRIETARY SOURCE CODE OF AT&T
#       
#                     This code has been published in
#                      C++ Primer by Stanley Lippman
#                    Addison_Wesley Publishing Company
#
#########################################################################*/
#include <iostream.h>
#include "CoOp.h"

int canAfford( double affordShare ) {
    enum { LOCAL_FALSE, LOCAL_TRUE };

    // no CoOp class objects defined
    if ( affordShare >= CoOp::getCost() ) 
	 return LOCAL_TRUE;
    else return LOCAL_FALSE;
}

main() {
    double affordShare = 29.95;

    cout << "Demo: static class member functions\n\n";

    if ( canAfford( affordShare ) )
    {
	// pointer to static class member is 
        // declared as non-member pointer
	void (*psf)(double) = &CoOp::raiseCost;
        psf( affordShare );

	CoOp studio( 250, "dan" );
        if ( affordShare < studio.getCost() )
             cout << "oops, price must have risen since\
 the if clause!\n"; 
    	    
    }
    return 0;
}
« May 2024 »
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: