Hello,

      Have a design related question and hope to hear some insights.

      Interfaces using abstract classes impose restriction(s) on it's derived 
implementations.
        - The most widely used restriction is to IMPLEMENT Function(s)

      Question:
        Is it permissible to have similar kind of  restriction for any data 
members in the interface?
        In a way that if some one wants to implement the interface it also must 
initialize certain variable.       

     Ex:
 
        Say for a TCP/IP it absolutely necessary to have
 peer's IP address and Port number.
        So, is wise to impose a restriction to pass above variable to 
initialize the class.

        class IP4Connection
        {
               public:
                    explicit IP4Connection( string ip, uint port);
                    virtual int send() = 0;
                    virtual int listen() = 0;
                    virtual int reconnect() = 0;
              
 protected:
                    std::string ip;
                    uint port;
        };

Thanks,
Siva.
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to